gpt4 book ai didi

java - 移位密码不会移位数字,而是将其更改为大写字母,然后不会将其更改回来。 java

转载 作者:行者123 更新时间:2023-12-01 12:54:42 25 4
gpt4 key购买 nike

我有一个需要加密的字符串,我正在使用移位密码。我得到了“代码中的梦想”的方法(http://www.dreamincode.net/forums/topic/190725-secret-code-i-ceasar-cipher/(第6篇文章))。这种移位密码不会加密数字,但会在加密过程中将它们更改为大写字母。但在解密过程中将它们更改为小写数字,比大写数字少 5。我不确定如何更改这两种方法以允许它们正确处理数字。

加密方法,该方法将字符串内容(即数组的内容)移动5位,然后传回保存方法,然后将内容保存到txt文件中。

    public String encodeWord(String content) {
StringBuffer r = new StringBuffer();
for (int i = 0; i < content.length(); i++) {
char c = content.charAt(i);
c = (char)('a' + (c -'a'+ 5) % 26);
r.append(c);
}
return r.toString();
} // encode()

解密方法,这需要前面提到的txt文件,并且在加载函数期间将其加载回数组之前,将字符串的每一行传递到此处进行解密,然后传递回加载函数。

public static String decodeWord(String str) {
StringBuffer r = new StringBuffer();
for (int i = 0; i < str.length(); i++) {
char c = str.charAt(i);
c = (char)('a' + (c - 'a' + 21) % 26);
r.append(c);
}
System.out.println(str);
return r.toString();
}

最佳答案

你需要类似的东西

if (is_digit(c))
c = (char)('0' + (c - '0' + 5) % 10);
else if (is_letter(c))
c = (char)('a' + (c - 'a' + 5) % 26);

关于java - 移位密码不会移位数字,而是将其更改为大写字母,然后不会将其更改回来。 java ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23986080/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com