Playfair cipher: Difference between revisions
Content deleted Content added
→{{header|zkl}}: dawn of the brain dead |
|||
Line 281: | Line 281: | ||
String jti = prompt("Replace J with I? y/n: ", sc, 1); |
String jti = prompt("Replace J with I? y/n: ", sc, 1); |
||
boolean |
boolean changeChar = jti.equalsIgnoreCase("y"); |
||
createTable(key, JtoI); |
createTable(key, JtoI); |
||
String enc = encode(prepareText(txt, |
String enc = encode(prepareText(txt, changeChar)); |
||
System.out.printf("%nEncoded message: %n%s%n", enc); |
System.out.printf("%nEncoded message: %n%s%n", enc); |
||
Line 300: | Line 300: | ||
} |
} |
||
private static String prepareText(String s, boolean |
private static String prepareText(String s, boolean changeChar) { |
||
s = s.toUpperCase().replaceAll("[^A-Z]", ""); |
s = s.toUpperCase().replaceAll("[^A-Z]", ""); |
||
return |
return changeChar ? s.replace("J", "I") : s.replace("Q", ""); |
||
} |
} |
||
private static void createTable(String key, boolean |
private static void createTable(String key, boolean changeChar) { |
||
charTable = new char[5][5]; |
charTable = new char[5][5]; |
||
positions = new Point[26]; |
positions = new Point[26]; |
||
String s = prepareText(key + "ABCDEFGHIJKLMNOPQRSTUVWXYZ", |
String s = prepareText(key + "ABCDEFGHIJKLMNOPQRSTUVWXYZ", changeChar); |
||
int len = s.length(); |
int len = s.length(); |