enigma机加强版:兼容汉语和标点符号、阿拉伯数字

本文介绍了对二战德军Enigma机的改进版本,该版本扩展了输入范围,支持包括26个英文字母、26个大写字母、10个数字以及加号、斜线和等号(共65个字符,基于Base64)。在加密和解密过程中,首先将输入转换为Base64值,然后进行加密或解密操作。代码已上传至百度网盘,读者可通过提供的链接和提取码获取。
摘要由CSDN通过智能技术生成

关于enigma机的原理请参考我前面的文章用Python复现二战德军enigma机_Burger叮当的博客-CSDN博客_enigma python

本篇文章发布一个上一期enigma机的加强版,兼容了汉语,标点符号,阿拉伯数字和正常的英文。

具体原理如下:

首先将原本enigma机的输入选择由26个字母扩充到65个值(包括a-z,A-Z,0-9,+,/,=),这65个值是base64的值的全部元素。在加密之前,首先将输入内容转化为base64的值,再将base64的值加密。解密的时候先将字符串解密,得到密文base64的值,在转化为明文即可。

base64的值的转化程序参考文章(1条消息) 学习笔记:用python实现手工编写base64编码和解码,完整代码(支持中文编码)_泉中流的博客-CSDN博客

代码直接上传百度网盘,使用方法可以参考上一篇文章

链接:https://pan.baidu.com/s/16wXgOpeAlaDAIXBciNGaxQ?pwd=1111 
提取码:1111 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值