【python密码学编程】6.凯撒加密法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

【python密码学编程】6.凯撒加密法凯撒加密法的密钥是0~25的整数
# _*_ coding:utf-8 _*_
#Caeser Ciper
import pyperclip
messgae = 'this is my secret messgae.'
key = 13
mode = 'encrypt'#模式是加密⽽⾮解密(decrypt)
LETTERS = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'#常量要⼤写
translated = ''
messgae = messgae.upper()
for symbol in messgae:
if symbol in LETTERS:
num = LETTERS.find(symbol) #find()返回的是该字符在字符串中的位置
if mode == 'encrypt':#判断当前是加密还是解密过程
num = num+key
elif mode == 'decrypt':
num = num-key
if num > len(LETTERS):#当处理后的数字脱离26个字母的数字范围后的处理
num = num - len(LETTERS)
elif num < 0:
num = num + len(LETTERS)
translated = translated + LETTERS[num]#空字符串⼀个个加上翻译后得到的字符
else:
#如果要翻译的字符不在26个⼤写字母的范围内
translated =translated + symbol
print translated
pyperclip.copy(translated)
>>>
GUVF VF ZL FRPERG ZRFFTNR.
[Finished in 0.8s]
仅允许⾮商业转载,转载请注明出处。

相关文档
最新文档