使用Python语言实现凯撒密码的加密和解密 | 您所在的位置:网站首页 › 加密结果为大小写字母和数字怎么表示 › 使用Python语言实现凯撒密码的加密和解密 |
使用Python语言实现凯撒密码的加密和解密
介绍
在密码学中,恺撒密码(英语:Caesar cipher),或称恺撒加密、恺撒变换、变换加密,是一种最简单且最广为人知的加密技术。它是一种替换加密的技术,明文中的所有字母都在字母表上向后(或向前)按照一个固定数目进行偏移后被替换成密文。例如,当偏移量是3的时候,所有的字母A将被替换成D,B变成E,以此类推。这个加密方法是以罗马共和时期恺撒的名字命名的,当年恺撒曾用此方法与其将军们进行联系。 扫盲:大写字母A至Z对应的十进制ASCII编码为65至90,小写字母a至z对应的十进制ASCII编码为97至122。 方法一chr()函数用一个范围在range(256)内的(就是0~255)整数作参数,返回一个对应的字符。返回值是当前整数对应的ASCII字符。该函数的返回值为字符串形式,例如输入chr(90),输出为 ‘Z’ 。 ord()函数与chr()函数对应,输入ASCII字符表中字符的字符串形式,返回为其在字符表中的排序位次。例如输入ord(‘a’),输出为97。 加密 str=input("请输入明文:") n=int(input("请输入密钥:")) str_encrypt="" for letter in str: if letter==" ": #遇到空格选择不加密 letter_encrypt=" " else: letter_encrypt=chr((ord(letter)-ord("a") +n) %26 +ord("a")) str_encrypt += letter_encrypt print("密文为:",str_encrypt)我们嵌入一个多分支结构,使得程序能够同时判定大小写字母,这里只列出加密代码,解密只需将“+n”替换为“-n”即可。 str=input("请输入明文:") n=int(input("请输入密钥:")) str_encrypt="" for letter in str: if "a" |
CopyRight 2018-2019 实验室设备网 版权所有 |