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。他们不会取消。