Advertisement
pellekrogholt

Untitled

Nov 9th, 2011
176
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.47 KB | None | 0 0
  1. import java.net.*;
  2. import java.io.*;
  3.  
  4. import javax.crypto.Cipher;
  5. import javax.crypto.CipherOutputStream;
  6. import javax.crypto.SecretKey;
  7. import javax.crypto.SecretKeyFactory;
  8. import javax.crypto.spec.DESKeySpec;
  9.  
  10. public class SimpleTcpClient {
  11.     public final static String PASSWORD = "password";
  12.    
  13.     public static void main(String args[]) throws Exception {
  14.         String message = "A Secret Message";
  15.        
  16.         // Create connection
  17.         InetAddress serverAddress = InetAddress.getByName("localhost");
  18.         int serverPort = 7896;
  19.         Socket socket = new Socket(serverAddress, serverPort);
  20.        
  21.         // Create Key
  22.         byte key[] = PASSWORD.getBytes();
  23.         DESKeySpec desKeySpec = new DESKeySpec(key);
  24.         SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("DES");
  25.         SecretKey secretKey = keyFactory.generateSecret(desKeySpec);
  26.  
  27.         // Init the Cipher
  28.         Cipher desCipher = Cipher.getInstance("DES/ECB/PKCS5Padding");
  29.         desCipher.init(Cipher.ENCRYPT_MODE, secretKey);
  30.        
  31.         // Create streams
  32.         OutputStream os = socket.getOutputStream();
  33.         CipherOutputStream cos = new CipherOutputStream(os, desCipher);
  34.        
  35.         // Print the message to the outputstream
  36.         PrintWriter pw = new PrintWriter(new OutputStreamWriter(cos));
  37.         pw.println(message);
  38.         pw.close();
  39.        
  40.         // Send message
  41.         cos.close();
  42.     }
  43. }
  44.  
  45. import java.net.*;
  46. import java.io.*;
  47.  
  48. import javax.crypto.Cipher;
  49. import javax.crypto.CipherInputStream;
  50. import javax.crypto.SecretKey;
  51. import javax.crypto.SecretKeyFactory;
  52. import javax.crypto.spec.DESKeySpec;
  53.  
  54. public class SimpleTcpServer {
  55.     public final static String PASSWORD = "password";
  56.    
  57.     public static void main(String args[]) throws Exception {
  58.         // Create connection
  59.         int serverPort = 7896;
  60.         ServerSocket serverSocket = new ServerSocket(serverPort);
  61.         Socket socket = serverSocket.accept(); // blocking call
  62.  
  63.         // Create Key
  64.         byte key[] = PASSWORD.getBytes();
  65.         DESKeySpec desKeySpec = new DESKeySpec(key);
  66.         SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("DES");
  67.         SecretKey secretKey = keyFactory.generateSecret(desKeySpec);
  68.        
  69.         // Init the Cipher
  70.         Cipher desCipher = Cipher.getInstance("DES/ECB/PKCS5Padding");
  71.         desCipher.init(Cipher.DECRYPT_MODE, secretKey);
  72.  
  73.         // Create the encrypted inputstream
  74.         InputStream is = socket.getInputStream();
  75.         CipherInputStream cis = new CipherInputStream(is, desCipher);
  76.        
  77.         // Read the message
  78.         BufferedReader br = new BufferedReader(new InputStreamReader(cis));
  79.         System.out.println(br.readLine());
  80.     }
  81. }
  82.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement