所以我一直在研究一个加密和解密程序,尽管我在解密时遇到了麻烦。我以为您只需要更改解密部分中的一些值,但这行不通。此外,我一直在尝试在加密和解密过程中添加空格(空格)。目前,它用随机字母替换空格。我认为只需在下面的 char 数组中添加一个空格就可以解决它,但它没有。
如果有人能给我解决我的两个问题的提示,那就太棒了。
class EncyptionandDecryption
{
char[] aEnc;
char[] aDec;
int shift;
char[] alphabet;
public EncyptionandDecryption(int c)
{
aEnc = new char[]{'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'};
aDec = new char[]{' ','z','y','x','w','v','u','t','s','r','q','p','o','n','m','l','k','j','i','h','g','f','e','d','c','b','a'};
shift = c;
}
public String Encryption(String phrase)
{
String enc = "";
for (int i = 0; i < phrase.length(); i++)
{
char p = (char) (phrase.charAt(i) - 97);
char e = (char) (((p + shift) % 26) + 97);
enc += e;
}
return enc;
}
public String Decryption(String message)
{
String dec = "";
for (int i = 0; i < message.length(); i++)
{
char z = (char) (message.charAt(i) - 97);
char p = (char) (((z - shift) % 26) + 97);
dec += p;
}
return dec;
}
}