kaiser密码

Kaiser密码加密解密思路思路:
1、先将明文字母转换为ASCII码,小写字母97-122,大写字母65-90。再将其减去97或65,即可得到0-25之间的数字
2、根据加密或解密的公式解密。再用类似的方法把0-25之间的数字转化为字母
代码块:

"""凯撒密码"""
"""不区分大小写的凯撒密码"""def encryption(s, key):"""kaiser密码加密"""lt = len(s)s = list(s)  # 将字符串转换成列表进行操作for i in range(lt):"""转换成ascii码并进行运算"""num = ord(s[i])  # 获取每个字母的ascii值"""进行Kaiser密码加密时默认明文为小写密文为大写"""num = (num - 97 + key) % 26 + 65# 将运算好的密文转换成大写c = chr(num)s[i] = cprint(s)def decrypt(s, key):"""kaiser密码解密"""lt = len(s)s = list(s)for i in range(lt):"""转换成ascii码并进行运算"""num = ord(s[i])num = (num - 65 - key) % 26 + 97c = chr(num)s[i] = cprint(s)if __name__ == '__main__':while True:print('1:加密 \n2:解密 \n3:破译')ty = input("请输入模式")if ty == "1":a = input("请输入明文")k = int(input("请输入密钥"))encryption(a, k)elif ty == "2":a = input("请输入密文")k = int(input("请输入密钥"))decrypt(a, k)elif ty == "3":a = input("请输入密文")decipher(a)

kaiser密码的加密与解密相关推荐

  1. Visual Studio 2019下用 C# 实现 Hill2 二阶希尔密码 的加密、解密 GUI界面

    1.什么是Hill2 什么是Hill密码 希尔密码(Hill)使用每个字母在字母表中的顺序作为其对应的数字,即 A=0,B=1,C=2 等,然后将明文转化为 n 维向量,跟一个 n × n 的矩阵相乘 ...

  2. python编写凯撒密码的加密函数_python实现 古典密码 凯撒密码的加密与解密

    python实现 古典密码 凯撒密码的加密与解密 实现效果如下图: # 凯撒密码加密与解密 # author Sundm string = ['a','b','c','d','e','f','g',' ...

  3. python实现对密码的加密和解密

    在 Python 中,可以使用加密算法对密码进行加密和解密.下面是一个使用 hashlib 模块的示例代码,用于对密码进行 SHA256 加密和解密: import hashlib# 定义一个函数,用 ...

  4. 凯撒密码c++语言程序,凯撒密码(加密与解密)

    下面是编程之家 jb51.cc 通过网络收集整理的代码片段. 编程之家小编现在分享给大家,也给大家做个参考. /******************************************** ...

  5. 仿射密码的加密与解密

    目录 简介 密钥空间 加密函数 解密函数 乘法逆元 例题 加密: 解密: 代码(python版) 简介 仿射密码为单表加密的一种,字母系统中所有字母都藉一简单数学方程加密,对应至数值,或转回字母.它是 ...

  6. Python实现凯撒密码的加密与解密

    在密码学中,我们把想要加密的消息叫做明文(plain text).把明文转换成加密后的消息叫做对明文加密(encrypting),明文加密后变成(cipher text). 凯撒密码的密钥是1到26之 ...

  7. 数据中心密码翻译、eas用户密码的加密和解密

    1.加密和解密datacenter的数据库密码 加密:com.kingdee.bos.sql.KSqlUtil.encodePassword(password); 解密: 1.管理控制台执行 deco ...

  8. kettle(pdi)数据库连接中的密码的加密与解密

    文章目录 一.加密 : 二.java代码解密 加密代码 总结 一.加密 : 进入kettle的安装目录 windows系统命令行执行:Encr.bat -kettle 123 linux/mac系统命 ...

  9. 凯撒密码(加密与解密)

    /************************************************************************/ /*caeser.c /* 凯撒密码是把明文字符按 ...

最新文章

  1. 【django】配置数据库(mysql)
  2. CSS中position详解与常见应用实现
  3. 【ArcGIS风暴】ArcGIS中制作GPS点位轨迹线及多边形
  4. 【教程】E103-W10无线串口服务器TCP协议与PC连接收发数据详解!
  5. c语言圆周率计算_C语言入门这一篇就够了
  6. C++调用MATLAB函数
  7. 网络编程之 osi七层协议
  8. 为linux添加新字体
  9. java 文件crc校验_Java 对文件进行 CRC32 校验
  10. sqoop 把 hdfs 和关系型数据库 (mysql等)互导
  11. hbase 学习(十二)非mapreduce生成Hfile,然后导入hbase当中
  12. 纯CSS3实现兔斯基简单害羞表情
  13. echart 世界地图发光_echarts生成世界地图,百度echarts生成世界地图方法
  14. 浏览器主页被360篡改怎么办?
  15. hdu 5234 动态规划
  16. 为啥将phpstudy打开,却访问不了rips
  17. gem install factory_girl
  18. 自媒体:公众号内容可以同步到头条吗
  19. 【PS教程】旧照片修复技巧
  20. 国内如何打开 Coursera?(Mac系统)

热门文章

  1. mybatis-plus的mapper.xml路径配置:Invalid bound statement (not found):...
  2. [转载]DBA的特质第二部分:性格
  3. PS常见问题03——如何绘制水平、竖直及45°直线
  4. 安卓软件全家桶分析,哪些软件是一伙的
  5. macOS 13 beta10(22A5365d)虚拟机cdr镜像
  6. CentOS 下安装 7z
  7. 适用于Mac 的自动补丁管理软件
  8. 计算机二级改错题怎么分,计算机二级上机考(程序改错题)1.doc
  9. KD01策略丨SuperTrend+空头波段
  10. 迪文屏幕T5UID3平台学习笔记四:串口使用和定时器使用