我一直在使用polybius方塊對我的程序進行加密。雖然我已經得到了這個工作,但需要說的是,當一個單詞被加密時,它需要爲不止一次出現的字母選擇替代數字。JAVA - 使用數組進行加密
例如'E'在加密時需要用15或61表示,並且它必須交替。我正在努力尋找解決方案,任何反饋都會很棒。
這裏是目前我的源代碼:
public class Encryption {
private static char polybiusSquare[][] = { { 'A', 'B', 'C', 'D', 'E', 'F' },
{ 'G', 'H', 'I', 'K', 'L', 'M' },
{ 'N', 'O', 'P', 'Q', 'R', 'S' },
{ 'T', 'U', 'V', 'W', 'X', 'Y' },
{ 'Z', 'E', 'T', 'A', 'O', 'N' },
{ 'E', 'T', 'A', 'O', 'J', ' ' } };
public static String encryptMessage(String message) {
String encipheredMessage = "";
for (int x = 0; x < message.length(); x++) {
encipheredMessage = encipheredMessage + encryptCharacter(message.charAt(x));
}
return encipheredMessage;
}
public static String encryptCharacter(char currentChar) {
String returnGridRef = "";
for (int x = 0; x < 6; x++) {
for (int y = 0; y < 6; y++) {
if (currentChar == polybiusSquare[x][y]) {
returnGridRef = Integer.toString(x + 1) + Integer.toString(y + 1);
}
}
}
if (returnGridRef.equals(""))
return "00";
else
return returnGridRef;
}
問題和代碼的質量比我在幾天內從新用戶看到的要好得多。 – MikeC