关于这个问题:java中的ROT-13函数?
在java中解码rot13的代码是什么?我只是把标志倒过来吗?
以下是将字符串编码为rot13:的代码
public class Rot13 {
public static void main(String[] args) {
String s = args[0];
for (int i = 0; i < s.length(); i++) {
char c = s.charAt(i);
if (c >= 'a' && c <= 'm') c += 13;
else if (c >= 'A' && c <= 'M') c += 13;
else if (c >= 'n' && c <= 'z') c -= 13;
else if (c >= 'N' && c <= 'Z') c -= 13;
System.out.print(c);
}
System.out.println();
}
}
不能反转符号。解码方法与编码方法相同。
例如:"a"被编码为"n"。如果你对"n"进行"编码",它会被解码回"a"。
因为基本拉丁字母表中有26个字母(2×13),ROT13是它自己的逆;也就是说,为了撤消ROT13,应用了相同的算法,因此可以使用相同的动作进行编码和解码。该算法几乎不提供加密安全性,并且经常被引用为弱加密的典型例子
维基百科的文章很好地解释了