Python实现凯撒密码
2018-03-23 10:51
399 查看
版权声明: https://blog.csdn.net/qq_39463175/article/details/79663754
s=str(a)
k=int(k)
l=[]
for i in range(len(a)):
l.append(chr(ord(a[i])+k))
a=list(a)
thearticle=input("enter the article (number of words must more than 100):")
a_list=[]
thearticle=list(thearticle)
for letter in thearticle:
if letter in a :
a_list.append(letter.lower)
#得到字典,键为字母 值为出现次数
b={}
for i in a_list:
if i in b:
b[i]+=1
else:
b[i]=1
#找到频率出现次数最高的字母,并返回
wcdict=b
valkeylist=[]
for key ,val in wcdict.items():
valkeylist.append((val,key))
valkeylist=sorted(valkeylist)
t=len(valkeylist)
maxletter=valkeylist[t-1]
p=a.find(maxletter)
shiftkey=p-5
k=shiftkey
print("the encrypted message is :",thearticle)
print('the shift key is:',k)
print("the explain message is:",casar_code(a,k))
需要加密代码的可以留言
大一上学习了Python,课程设计要求实现凯撒密码。加密方式很好写,减密方式是加密的逆过程,但涉及到对对字典和列表的使用,尤其是字符串与列表的转换这里要转一下弯。
加入密文:
运行效果:
源代码:
import string
import math
def prettyprint(wcdict):#定义函数,找到频率出现次数最高的字母,并返回
valkeylist=[]
for key ,val in wcdict.items():
valkeylist.append((val,key))
t=sorted(valkeylist)
v=len(t)
return valkeylist[t-1]
def casar_code(a,k):#把密文转为原文
s=str(a)
k=int(k)
l=[]
for i in range(len(a)):
l.append(chr(ord(a[i])+k))
return "".join(l)
a=list(a)
thearticle=input("enter the article (number of words must more than 100):")
a_list=[]
thearticle=list(thearticle)
for letter in thearticle:
if letter in a :
a_list.append(letter.lower)
#得到字典,键为字母 值为出现次数
b={}
for i in a_list:
if i in b:
b[i]+=1
else:
b[i]=1
#找到频率出现次数最高的字母,并返回
wcdict=b
valkeylist=[]
for key ,val in wcdict.items():
valkeylist.append((val,key))
valkeylist=sorted(valkeylist)
t=len(valkeylist)
maxletter=valkeylist[t-1]
p=a.find(maxletter)
shiftkey=p-5
k=shiftkey
print("the encrypted message is :",thearticle)
print('the shift key is:',k)
print("the explain message is:",casar_code(a,k))
需要加密代码的可以留言
相关文章推荐
- Python实现的凯撒密码算法示例
- Python实现星号遮掩的密码输入
- python实现在控制台输入密码不显示的方法
- python Pexpect 实现输密码 scp 拷贝
- python-简单的用户与密码登录模块实现
- python实现维尼吉亚密码
- Python使用selenium实现网页用户名 密码 验证码自动登录功能
- python实现linux服务器批量修改密码并生成execl
- 使用python实现简单的序列密码
- python实现自动化登陆不需要密码
- 凯撒(caser)密码实现加密与解密
- python实现简单的用户密码登录控制(输入三次就锁定用户)
- python实现简单的用户密码登录控制(输入三次就锁定用户)
- python实战===实现读取txt每一行的操作,账号密码
- Python实现判断强密码
- python 实现用户输入名和密码,输入名为joe密码为123456 如果输入错误,只能输入三次
- Python实现Linux下SSh的无密码登录
- Python实现Telnet自动连接检测密码
- [python] getpass 库 -- 在控制台中实现密码输入
- python输入错误密码用户锁定实现方法