JAVA-使用数组进行加密

JAVA-使用数组进行加密,java,encryption,Java,Encryption,我一直在使用polybius正方形为我的程序进行加密。尽管我已经实现了这一点,但要求是,当一个单词被加密时,它需要为多次出现的字母选择备用数字 例如,“E”在加密时需要用15或61表示,并且必须交替。我正在努力寻找解决方案,任何反馈都会很好 以下是我目前的源代码: public class Encryption { private static char polybiusSquare[][] = { { 'A', 'B', 'C', 'D', 'E', 'F' },

我一直在使用polybius正方形为我的程序进行加密。尽管我已经实现了这一点,但要求是,当一个单词被加密时,它需要为多次出现的字母选择备用数字

例如,“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;
}
公共类加密{
私有静态字符polybiusquare[][]={{{'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','''};
公共静态字符串加密消息(字符串消息){
字符串EncrypedMessage=“”;
对于(int x=0;x
维护一个数据结构,该结构保存下一组用于重复字符的值;它只保存重复字符的值。请预先初始化它

在“encryptCharacter”中,检查参数是否为这些字符之一,如果是,则使用数据结构中的值,并使用下次使用的值(仅该字符)对其进行更新


考虑到你的Q和代码的质量,我希望你能从这里开始。

问题和代码的质量比我在几天内从新用户那里看到的要好得多。非常感谢。我将对此进行修改。我一直在看这个问题,但我仍在努力。我对java还是很陌生。你有一个这样做的例子吗?H这里有一个例子。我希望你有一本好的Java书籍或网站,你正在参考或学习。如果你试图通过在SO或其他论坛上发布问题来学习,这将是一条漫长而艰难的道路。