关于enigma机的原理请参考我前面的文章用Python复现二战德军enigma机_Burger叮当的博客-优快云博客_enigma python
本篇文章发布一个上一期enigma机的加强版,兼容了汉语,标点符号,阿拉伯数字和正常的英文。
具体原理如下:
首先将原本enigma机的输入选择由26个字母扩充到65个值(包括a-z,A-Z,0-9,+,/,=),这65个值是base64的值的全部元素。在加密之前,首先将输入内容转化为base64的值,再将base64的值加密。解密的时候先将字符串解密,得到密文base64的值,在转化为明文即可。
base64的值的转化程序参考文章(1条消息) 学习笔记:用python实现手工编写base64编码和解码,完整代码(支持中文编码)_泉中流的博客-优快云博客
代码直接上传百度网盘,使用方法可以参考上一篇文章
链接:https://pan.baidu.com/s/16wXgOpeAlaDAIXBciNGaxQ?pwd=1111
提取码:1111