凯撒密码加密,解密的实现,可以在项目上使用

凯撒密码加密,解密的实现,可以在项目上使用

import string

"""
凯撒密码:
本质:
A B C D E
    A B C D E
    移动一定的位置后,获取对应移动后的字符,这里面的‘偏移量就是2也就是shift=2

生成key
代码说明;
upperchar26=string.ascii_uppercase  #获取26个大写字母的字符串
keydic={}  获取一个字典keydic={原始字符:移动后的字符},后期加密或者解密使用的对应字典
gennerate_key(shift)  里面的shift是偏移量
keydic[char]=upperchar26[(num+shift)%len(upperchar26)]-->keydic={原始字符:移动后的字符}

shift=2后
generate_key产生的结果,都是偏移了两位
{'A': 'C', 'B': 'D', 'C': 'E', 'D': 'F', 'E': 'G', 'F': 'H', 'G': 'I', 'H': 'J', 'I': 'K', 'J': 'L', 'K': 'M', 'L': 'N', 'M': 'O', 'N': 'P', 'O': 'Q', 'P': 'R', 'Q': 'S', 'R': 'T', 'S': 'U', 'T': 'V', 'U': 'W', 'V': 'X', 'W': 'Y', 'X': 'Z', 'Y': 'A', 'Z': 'B'}
"""


def generate_key(shift):
    upperchar26 = string.ascii_uppercase
    keydic = {}
    num = 0
    for char in upperchar26:
        keydic[char] = upperchar26[(num + shift) % len(upperchar26)]
        num += 1
    return keydic


"""
加密函数,参数message是需要加密的字符串
从’message‘需要加密的字符串中遍历取出所有字符串--->
判断取出的每个字符是不是在keydic这个字典中,如果在里面
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值