当前位置:   article > 正文

python实现凯撒密码加密解密_凯撒加密解密算法python

凯撒加密解密算法python

 

目录

 

一、信息加密应用发展阶段

二、凯撒密码程序

三、运行结果:


一、信息加密应用发展阶段

       在密码学中,恺撒密码 (英语: Caesar cipher ) ,或称恺撒加密、恺撒变换、变换加密,是一种最简单且最一为人知的加密技术。它是一种替换加密的技术,明文中的所有字母都在字母表上向后(或向前)按照一个固定数目进行偏移后被替换成密文。例如,当偏移量是3的时候,所有的字母A将被替换成D,B变成E,以此类推。这个加密方法是以罗马共和时期恺撒的名字命名的,当年恺撒曾用此方法与其将军们进行联系凯撒密码中,将字母表中的字母平移这个操作就是密码的算法

二、凯撒密码程序

  1. def encrypt(text, key):
  2. cipher_text = ""
  3. for char in text:
  4. if char.isalpha():
  5. if char.isupper():
  6. cipher_text += chr((ord(char) - 65 + key) % 26 + 65) # 大写字母加密
  7. else:
  8. cipher_text += chr((ord(char) - 97 + key) % 26 + 97) # 小写字母加密
  9. elif char.isdigit():
  10. cipher_text += chr((ord(char) - 48 + key) % 10 + 48) # 数字加密
  11. else:
  12. cipher_text += char # 特殊字符保持不变
  13. return cipher_text
  14. def decrypt(cipher_text, key):
  15. plain_text = ""
  16. for char in cipher_text:
  17. if char.isalpha():
  18. if char.isupper():
  19. plain_text += chr((ord(char) - 65 - key) % 26 + 65) # 大写字母解密
  20. else:
  21. plain_text += chr((ord(char) - 97 - key) % 26 + 97) # 小写字母解密
  22. elif char.isdigit():
  23. plain_text += chr((ord(char) - 48 - key) % 10 + 48) # 数字解密
  24. else:
  25. plain_text += char # 特殊字符保持不变
  26. return plain_text
  27. text = input("请输入明文或密文:")
  28. key = int(input("请输入密钥:"))
  29. cipher_text = encrypt(text, key)
  30. plain_text = decrypt(cipher_text, key)
  31. print("明文:", text)
  32. print("密文:", cipher_text)
  33. print("解密后:", plain_text)

三、运行结果:

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/476176
推荐阅读
相关标签
  

闽ICP备14008679号