凯撒密码
简介
凯撒密码(Caesar cipher)是古典密码体系中最简单且最广为人知的一种加密技术。它是一种替换加密的技术,明文中的所有字母都在字母表上向后(或向前)按照一个固定数目进行偏移后被替换成密文。
这个加密方法是以罗马共和时期恺撒的名字命名的,当年恺撒曾用此方法与其将军们进行联系。
Caesar cipher往往是刚开始学习密码学时最先接触到的加密算法,对于密码学的学习是一个很好的启蒙开端。
废话不多说,下面是Caesar cipher的python3实现。
python3源码
# 凯撒密码
m = input('请输入需要加密的汉字:')
ciphertext = ''
# 对明文汉字进行凯撒加密
for i in m:
ciphertext += (chr(ord(i) - 3)) # 将明文汉字转换为对应ASCLL数值或Unicode数值(ord函数),然后在此数值上+3,再将该值返回汉字(chr函数)
print('加密后的密文为:', ciphertext)
# 对密文汉字进行凯撒解密
plaintext = ''
for i in ciphertext:
plaintext += (chr(ord(i) + 3)) # 将密文汉字转换为对应ASCLL数值或Unicode数值(ord函数),然后在此数值上33,再将该值返回汉字(chr函数)
print('解密后的密文为:', plaintext)