Advertisement
Guest User

4 u

a guest
Feb 21st, 2017
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.70 KB | None | 0 0
  1. import java.util.Scanner;
  2. import java.lang.StringBuffer;
  3.  
  4. public class ShiftCypher {
  5.    
  6.     public static void main(String[] args) {
  7.         Scanner in = new Scanner(System.in);
  8.         System.out.println("Please enter a string to encrypt");
  9.         String word = in.nextLine();
  10.         System.out.println("Encrypted: " + encrypt(word, 6));
  11.         //System.out.println("Decrypted: " + decrypt(encrypt(word, 3), 3));
  12.         //String hashed = encrypt(word, 5);
  13.         //crack(hashed);  
  14.     }
  15.    
  16.     static String encrypt(String message, int shift) {
  17.         StringBuilder s = new StringBuilder();  
  18.         int length = message.length();
  19.         for(int k=0; k < length; k++) {
  20.             char c = (char)(message.charAt(k));
  21.             if (c == ' ') {
  22.                 s.append(' ');
  23.                 continue;
  24.             }
  25.             if(c > 'z') {
  26.                 s.append((char)(message.charAt(k) - (26-shift)));
  27.             } else  {
  28.                 s.append((char)(message.charAt(k) + shift));
  29.             }
  30.         }
  31.         return s.toString();
  32.     }
  33.    
  34.     static String decrypt(String message, int shift) {
  35.         StringBuilder s = new StringBuilder();
  36.         int length = message.length();
  37.         for (int k=0; k < length; k++) {
  38.             char c = (char)(message.charAt(k));
  39.             if (c == ' ') {
  40.                 s.append(' ');
  41.                 continue;
  42.             }
  43.             if (c > 'z') {
  44.                 s.append((char)(message.charAt(k) - (26-shift)));
  45.             } else {
  46.                 s.append((char)(message.charAt(k) - shift));
  47.             }
  48.         }
  49.         return s.toString();
  50.     }
  51.    
  52.     static void crack(String message) {
  53.         StringBuilder s = new StringBuilder();
  54.         for (int j=0; j < 26; j++) {
  55.             for (int k=0; k < message.length(); k++) {
  56.                 char c = (char)(message.charAt(k));
  57.                 if (c == ' ') {
  58.                     s.append(' ');
  59.                 }
  60.                 s.append((char)(message.charAt(k) -  j));
  61.             }
  62.             System.out.println(s);
  63.             s.delete(0, s.length());
  64.         }
  65.     }
  66. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement