我理解 ROT13 的利弊,但我想知道为什么人们选择将字母表向后移动 13 位?我知道这是一半的位置,但是有没有更优雅的原因选择这么远,而不是 12 或 14 个位置?
在我看来,让每个字母与其起始位置“尽可能远”似乎只对可能认出“相似”字符的人有意义(虽然我怀疑这是可能/可行的)。
有人知道答案吗?
在我看来,让每个字母与其起始位置“尽可能远”似乎只对可能认出“相似”字符的人有意义(虽然我怀疑这是可能/可行的)。
有人知道答案吗?
因为它具有漂亮的属性,即自反性,也就是说,ROT13(ROT13(alphaOnlyString)) = alphaOnlyString。
可能是因为它本身就是自反的。同样的算法既可以用于“加密”也可以用于“解密”。
将字符移动13个位置,相当于在26个字母的字母表中向后移动一半。因此,只需再次移动13个位置即可回到纯文本。这样,你就不必为编码或解码编写单独的函数,因为同一操作既可以是编码也可以是解码。