移位密码赢得';t shift数字将其更改为大写字母,然后不';我不能把它们换回来。JAVA
我有一个字符串需要加密。我正在使用移位密码。我从“代码中的梦想”(post#6)中获得了这些方法。此移位密码不会加密数字,但会在加密过程中将数字更改为大写字母。但在解密过程中,将它们改为小写数字5,小于大写数字。我不确定如何改变这两种方法,使他们能够正确处理数字 Encrypt方法,该方法获取字符串内容(数组的内容)并将其移位5位,然后将其传递回保存方法,然后将内容保存到txt文件移位密码赢得';t shift数字将其更改为大写字母,然后不';我不能把它们换回来。JAVA,java,arrays,encryption,Java,Arrays,Encryption,我有一个字符串需要加密。我正在使用移位密码。我从“代码中的梦想”(post#6)中获得了这些方法。此移位密码不会加密数字,但会在加密过程中将数字更改为大写字母。但在解密过程中,将它们改为小写数字5,小于大写数字。我不确定如何改变这两种方法,使他们能够正确处理数字 Encrypt方法,该方法获取字符串内容(数组的内容)并将其移位5位,然后将其传递回保存方法,然后将内容保存到txt文件 public String encodeWord(String content) { Stri
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()
公共字符串编码字(字符串内容){
StringBuffer r=新的StringBuffer();
对于(int i=0;i
Decrypt方法,它获取前面提到的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();
}
公共静态字符串解码字(字符串str){
StringBuffer r=新的StringBuffer();
对于(int i=0;i
您需要类似
if (is_digit(c))
c = (char)('0' + (c - '0' + 5) % 10);
else if (is_letter(c))
c = (char)('a' + (c - 'a' + 5) % 26);
什么是“数字”?这在java中是一个实际的东西还是一个占位符?它只是一个占位符,如果c是0-9,它应该返回true,否则返回false。虽然如果您使用Character类,我很确定它有一个isDigit()方法。谢谢,这很有效!我没有使用character类,所以我不得不对它进行调整,并将其更改为“if(character.isDigit(content.charAt(I))”,但这是一个完美的解决方案!“a”+(c-“a”+5)与c+5+“a”-“a”不一样吗?是的,但是操作顺序在这里很重要<代码>(c-'a'+5)在添加到
'a'