凯撒密码
原理:
通过把字母移动一定的位数来实现加解密明文中的所有字母从字母表向后(或向前)按照一个固定步长进行偏移后被替换成密文。
例如:
当步长为3时,A被替换成D,B被替换成E,依此类推,X替换成A本加解密实现只针对英文字母(包括大小写)。
# -*- coding: utf-8 -*- """ Created on Sat Jan 30 13:39:20 2021 @author: 叶照清 """ from string import ascii_lowercase lows=ascii_lowercase ups=lows.upper() def kasa(s,k,ok=True): ''' 凯撒加密 参数: s:需加密的字符串 k:密码 ok='other'就变成解密了 ''' k=k%len(lows) #密码取mod before=lows+ups after = lows[k:]+lows[:k]+ups[k:]+ups[:k] if ok==True: table=''.maketrans(before,after) else: table=''.maketrans(after,before) return s.translate(table) s='''Created on Sat Jan 30 13:39:20 2021 @author: yezq''' k=12334343 sa=kasa(s,k) print('原文:\n',s) print('加密:\n',sa) sb=kasa(sa,k,None) print('解密:\n',sb)>>> ========================= RESTART: E:\work\kasa\kasa.py ======================== 原文
用Python实现凯撒密码加密解密
最新推荐文章于 2022-06-12 02:38:15 发布
本文介绍了凯撒密码的加密和解密原理,它通过将字母按固定步长移动来实现加解密。给出了Python代码示例,展示了如何使用凯撒密码对字符串进行加密和解密操作,结果显示加密和解密过程成功。

最低0.47元/天 解锁文章
4117

被折叠的 条评论
为什么被折叠?



