<p>import string</p><p><img src="http://chengdu.cdxwcx.cn/upload/ad_content/xuanchuantu-18.jpg"></p><p>创新互联建站是创新、创意、研发型一体的综合型网站建设公司,自成立以来公司不断探索创新,始终坚持为客户提供满意周到的服务,在本地打下了良好的口碑,在过去的十多年时间我们累计服务了上千家以及全国政企客户,如成都LED显示屏等企业单位,完善的项目管理流程,严格把控项目进度与质量监控加上过硬的技术实力获得客户的一致赞美。</p><p>def kaisa(s, k): #定义函数 接受一个字符串s 和 一个偏移量k</p><p>lower = string.ascii_lowercase #小写字母</p><p>upper = string.ascii_uppercase #大写字母</p><p>before = string.ascii_letters #无偏移的字母顺序 小写+大写</p><p>after = lower[k:] + lower[:k] + upper[k:] + upper[:k] #偏移后的字母顺序 还是小写+大写</p><p>#分别把小写字母和大写字母偏移后再加到一起</p><p>table = ''.maketrans(before, after) #创建映射表</p><p>return s.translate(table) #对s进行偏移 即加密</p><p>s = input('请输入一个字符串:')</p><p>k = int(input('请输入一个整数密钥:'))</p><p>print(kaisa(s, k))</p><p>调用此函数</p><p># codinng=utf-8</p><p>x = 'a b c d e f g h i j k l m n o p q r s t u v w x y z'.split(' ')</p><p>y = 'n o p q r s t u v w x y z a b c d e f g h i j k l m'.split(' ')</p><p>X = map(lambda x: x.upper(), x)</p><p>Y = map(lambda x: x.upper(), y)</p><p>dict_kaisa = dict(zip(x + X, y + Y)) # 创建一个字典, 键为原字符串, 值为加密字符串</p><p># 定义凯撒加密函数, 输入字符串, 输出凯撒加密后字符串</p><p>def kaisa(string):</p><p>result = []</p><p>for i in range(len(string)):</p><p>if string[i] in dict_kaisa.keys():</p><p>result.append(dict_kaisa[string[i]])</p><p>else:</p><p>result.append(string[i])</p><p>return ''.join(result)</p><p>print(kaisa('The Zen of Python')) # 结果为Gur Mra bs Clguba</p><p>凯撒密码作为一种最为古老的对称加密体制,在古罗马的时候都已经很流行,他的基本思想是:通过把字母移动一定的位数来实现加密和解密。明文中的所有字母都在字母表上向后(或向前)按照一个固定数目进行偏移后被替换成密文。例如,当偏移量是3的时候,所有的字母A将被替换成D,B变成E,以此类推X将变成A,Y变成B,Z变成C。由此可见,位数就是凯撒密码加密和解密的密钥。</p><p>如下代码是以偏移量为13展开计算的。123</p><p>源代码如下:</p><p>sr1="abcdefghijklmnopqrstuvwxyz"sr2=sr1.upper()</p><p>sr=sr1+sr1+sr2+sr2</p><p>st="The Zen of Python"sResult=""for j in st: if j==" ":</p><p>sResult = sResult +" "</p><p>continue</p><p>i=sr.find(j) if(i-1):</p><p>sResult=sResult+sr[i+13]print sResult12345678910111213</p><p>运行结果为:</p><p>Gur Mra bs Clguba</p><p>python中凯撒密码num=num+key是一种替换加密的技术,明文中的所有字母都在字母表上向后(或向前)按照一个固定数目进行偏移后被替换成密文。根据查询相关***息,凯撒密码是古罗马凯撒大帝用来对军事情报进行加密的算法,它采用了替代方法将信息中的每一个英文字母循环替换为字母表序列中该字符后面的第k个字符(k为密钥)。加密方法:C=(P+k)mod26,P为原文字符,k为密钥,解密方法:P=(C-3)mod26。</p>
<br>
网站标题:python凯撒加密函数 凯撒加密解密算法python <br>
本文网址:http://chengdu.cdxwcx.cn/article/dosgjdj.html
讯享网

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/154122.html