Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/360.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 这两种简单字符加密“方法”的区别_Java - Fatal编程技术网

Java 这两种简单字符加密“方法”的区别

Java 这两种简单字符加密“方法”的区别,java,Java,我很难理解这种加密字符串中字符的简单方法。下面是方法: encryptedChar = (char) (’A’ + (originalChar -’A’ + offset) % 26); 我不理解“A”-“A”的必要性,因为它们只是取消了。背后的原因是什么 为什么我不应该使用下面的方法呢 encryptedChar = (char) ((originalChar + offset) % 26); 它不应该完全一样吗 encryptedChar = (char) ('A' + (origina

我很难理解这种加密字符串中字符的简单方法。下面是方法:

encryptedChar = (char) (’A’ + (originalChar -’A’ + offset) % 26);
我不理解“A”-“A”的必要性,因为它们只是取消了。背后的原因是什么

为什么我不应该使用下面的方法呢

encryptedChar = (char) ((originalChar + offset) % 26);
它不应该完全一样吗

encryptedChar = (char) ('A' + (originalChar -'A' + offset) % 26);
两个“A”不会相互抵消,因为第二个在作为模运算符的操作数的表达式中

“A'+原始字母-A'+偏移量%26-此处每个字母都映射到不同的字母

originalChar+偏移量%26-此处每个字母都映射到int值介于0和25之间的字符

因为有一个模26。他们不会取消。