code to send data to server
BufferedReader keyRead = new BufferedReader(new InputStreamReader(System.in));
OutputStream ostream = sock.getOutputStream();
PrintWriter pwrite = new PrintWriter(ostream, true);
// receiving from server ( receiveRead object)
InputStream istream = sock.getInputStream();
BufferedReader receiveRead = new BufferedReader(new InputStreamReader(istream));
String receiveMessage, sendMessage;
while(true)
{
sendMessage = keyRead.readLine(); // keyboard reading
String enc = crypt.encrypt(sendMessage, serverPublicKey);
System.out.println("sending to server: "+enc);
pwrite.println(enc); // sending to server
pwrite.flush(); // flush the data
if((receiveMessage = receiveRead.readLine()) != null) //receive from server
{
//System.out.println(crypt.decrypt(receiveMessage, clientPrivateKey)); // displaying at DOS prompt
System.out.println(receiveMessage);
}
}
output after encryption looks like below on console
sending to server: YRJ7ZNgqSQ56nGc8ff7ktoybYEohQJS2R+Vh3YN1YfHipUS64MyFrrYAzL4CiTPv2WF7zvaJst1A
qsiPsv3/1Q==
code to receive on server
BufferedReader keyRead = new BufferedReader(new InputStreamReader(System.in));
// sending to client (pwrite object)
OutputStream ostream = sock.getOutputStream();
PrintWriter pwrite = new PrintWriter(ostream, true);
// receiving from server ( receiveRead object)
InputStream istream = sock.getInputStream();
BufferedReader receiveRead = new BufferedReader(new InputStreamReader(istream));
String receiveMessage, sendMessage;
while(true)
{
if((receiveMessage = receiveRead.readLine()) != null)
{
//System.out.println(crypt.decrypt(receiveMessage, serverPrivateKey));
System.out.println(receiveMessage);
}
sendMessage = keyRead.readLine();
String enc = crypt.encrypt(sendMessage, clientPublicKey);
System.out.println("sending to clinet: "+enc);
pwrite.println(enc);
pwrite.flush();
}
but data is received like
YRJ7ZNgqSQ56nGc8ff7ktoybYEohQJS2R+Vh3YN1YfHipUS64MyFrrYAzL4CiTPv2WF7zvaJst1A
rest of
qsiPsv3/1Q==
is received when i send something from server to client, please help me locate the problem, due to truncated data the decryption fails