我被赋予了编写程序的任务,该程序使用随机生成的普通字母密码将纯文本转换为密文。 密码数组对于字母表中的每个字母都有不同的特定字母。例如字母'a'对应'x','b'对应'j'等等。 纯文本和密文都存储为数组。 我能够生成密码数组,但我似乎无法使用纯文本和密文数组创建加密数组。 当我运行这段代码时,它会根据我的加密结果生成纯文本代码。
提前感谢你们可能提供的任何帮助
到目前为止,这是我的代码:
String plaintextString = new String( plaintext ) ;
plaintextString = plaintextString.toLowerCase();
plaintext = plaintextString.toCharArray() ;
char i =0 ;
for (int index=0; index<plaintext.length; index++)
{
i = plaintext[index] ;
if ( i == ' ') //The space character
{ //doesn't get encrypted
plaintext[index] = ' ' ;
}
for (int index2=0; index2<alphabet.length; index2++)
{
if ( i == alphabet[index2]) //Alphabet array already generated
{
encrypt[index]= cipher[index2] ;
}
}
}
答案 0 :(得分:0)
不确定如何生成(或获取)'cipher'数组,但它应该只是将每个ASCII字符映射到不同的ASCII字符。根据您的问题中的代码,这应该包括将Space字符(实际上是任何其他非字母字符)映射到自身。
如果不是这种情况,那么我建议你首先从你拥有的任何“映射对象”构造这样的“密码”数组。确定后,您的方法应该非常简单:
输入:字符数组'明文'和'密码'。
输出:字符数组'ciphertext'。
代码:
for (int index=0; index<plaintext.length; index++)
ciphertext[index] = cipher[plaintext[index]];