29 lines
988 B
Java
29 lines
988 B
Java
package com.crypto;
|
|
public class Caesar {
|
|
|
|
public static String encode(String plaintext, int key){
|
|
String alphabet = "abcdefghijklmnopqrstuvwxyz";
|
|
char encoded[] = plaintext.toCharArray();
|
|
|
|
for(int i = 0; i < plaintext.length(); i++){
|
|
encoded[i] = alphabet.charAt(alphabet.indexOf(encoded[i]) + key % 26);
|
|
}
|
|
return String.valueOf(encoded);
|
|
}
|
|
|
|
public static String[] decode(String ciphertext){
|
|
String alphabet = "abcdefghijklmnopqrstuvwxyz";
|
|
char encoded[] = ciphertext.toCharArray();
|
|
char decoded[] = new char[ciphertext.length()];
|
|
String bruteforce[] = new String[26];
|
|
for(int key = 0; key < alphabet.length(); key++){
|
|
for(int i = 0; i < ciphertext.length(); i++){
|
|
decoded[i] = alphabet.charAt(alphabet.indexOf(encoded[i]) + key % 26);
|
|
}
|
|
bruteforce[key] = String.valueOf(encoded);
|
|
}
|
|
return bruteforce;
|
|
|
|
}
|
|
}
|