基本思路是ord得到原字母的ASCII码,计算得到加密后的字母ASCII码,然后chr还原得到密文。
举个栗子:
明文MV 密钥KM
先计算第一个字母,可以得到:ord('M') = 77,ord('K') = 75,ord('A') = 65。
然后进行这样的计算:77 + 75 - 65 = 87。
chr(87) = 'W'
然后是第二个字母:
ord('V') + ord('M') - ord('A') = 98
98不在大写字母的ASCII范围(65-90)内,把它减去26(大写字母的数量)得到72。
chr(72) = 'H'
由此得出最后的密文是WH。
要解密,将上面的计算公式中的加号和减号倒过来即可。