Advertisement
pellekrogholt

Untitled

Nov 9th, 2011
171
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.51 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.         // close socket
  44.         socket.close();
  45.     }
  46. }
  47.  
  48. import java.net.*;
  49. import java.io.*;
  50.  
  51. import javax.crypto.Cipher;
  52. import javax.crypto.CipherInputStream;
  53. import javax.crypto.SecretKey;
  54. import javax.crypto.SecretKeyFactory;
  55. import javax.crypto.spec.DESKeySpec;
  56.  
  57. public class SimpleTcpServer {
  58.     public final static String PASSWORD = "password";
  59.    
  60.     public static void main(String args[]) throws Exception {
  61.         // Create connection
  62.         int serverPort = 7896;
  63.         ServerSocket serverSocket = new ServerSocket(serverPort);
  64.         Socket socket = serverSocket.accept(); // blocking call
  65.  
  66.         // Create Key
  67.         byte key[] = PASSWORD.getBytes();
  68.         DESKeySpec desKeySpec = new DESKeySpec(key);
  69.         SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("DES");
  70.         SecretKey secretKey = keyFactory.generateSecret(desKeySpec);
  71.        
  72.         // Init the Cipher
  73.         Cipher desCipher = Cipher.getInstance("DES/ECB/PKCS5Padding");
  74.         desCipher.init(Cipher.DECRYPT_MODE, secretKey);
  75.  
  76.         // Create the encrypted inputstream
  77.         InputStream is = socket.getInputStream();
  78.         CipherInputStream cis = new CipherInputStream(is, desCipher);
  79.        
  80.         // Read the message
  81.         BufferedReader br = new BufferedReader(new InputStreamReader(cis));
  82.         System.out.println(br.readLine());
  83.     }
  84. }
  85.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement