Python2 解密易语言DES加密的密文

慕瓜4002895 2020/9/14 8:03:43

易语言DES加密研究背景 易语言与后端的Python进行通信,数据希望使用DES加密,因此涉及到易语言DES加密数据,然后使用Python的DES算法进行解密。 虽然这个需求很常见,但确发现网上文章相关文章不多,因此将我总结的整理出来,供给大家参考 易语言DES加密实现: 找了很多,…

易语言DES加密研究背景

易语言与后端的Python进行通信,数据希望使用DES加密,因此涉及到易语言DES加密数据,然后使用Python的DES算法进行解密。

虽然这个需求很常见,但确发现网上文章相关文章不多,因此将我总结的整理出来,供给大家参考

易语言DES加密实现:

找了很多,网上各种第三方DES加密和解密的库,但是发现好用的很少,最后发现,其实易语言自身就支持这个加密算法

函数原型如下:

调用格式: 〈字节集〉 加密数据 (字节集 字节集数据,文本型 密码文本,[整数型 加密算法]) - 数据操作支持库一->数据加解密

英文名称:Encrypt

加密一段字节集数据,返回加密后的结果字节集。如果失败,返回空字节集。本命令为初级命令。

参数<1>的名称为“字节集数据”,类型为“字节集(bin)”。为命令提供所需的字节集数据。

参数<2>的名称为“密码文本”,类型为“文本型(text)”。

参数<3>的名称为“加密算法”,类型为“整数型(int)”,可以被省略。指定具体使用的加密算法,可以为以下常量值之一:1: #DES算法; 2: #RC4算法。加密和解密必须使用相同的算法,有关算法的具体说明请参阅有关文献。如果本参数被省略,则默认值为1,即DES算法。

操作系统需求: Windows、Linux

使用举例:

加密函数(到字节集(“abc"), “wodekey”, #DES算法)

非常简单,但是加密后数据是字节集不是很友好,因此转换成 十六进制表示

字节集_字节集到十六进制 (加密数据 (到字节集 (”abc“, “test” , #DES算法))

Python解密易语言的DES密文

初看很简单的问题,但是测试发现 python根本解不开易语言实现的DES密文

经过苦苦追寻,最终 看到有人分析过 易语言的DES加密原理 易语言DES加密原理

我没有看懂,但是对方给了源代码,因此直接使用作者提供的python代码就可以了

(注:原作者的代码 有一行bug i = i + 1 if i < 8 else 0 需要将 8改成 7否则会报错)

但是发现 这代码是Python3的,我的环境是Python2 死活是不行

需要将上述代码转成python2的

核心修改的代码:

ba[i] =int(format(ord(b[i]),‘0>8b’)[::-1],2)

随时随地学软件编程-关注百度小程序和微信小程序
关于找一找教程网

本站文章仅代表作者观点,不代表本站立场,所有文章非营利性免费分享。
本站提供了软件编程、网站开发技术、服务器运维、人工智能等等IT技术文章,希望广大程序员努力学习,让我们用科技改变世界。
[Python2 解密易语言DES加密的密文]http://www.zyiz.net/tech/detail-147006.html

上一篇:超详细!盘点Python中字符串的常用操作

下一篇:超详细!盘点Python中字符串的常用操作

赞(0)

共有 条评论 网友评论

验证码: 看不清楚?
    关注微信小程序
    程序员编程王-随时随地学编程

    扫描二维码或查找【程序员编程王】

    可以随时随地学编程啦!

    技术文章导航 更多>
    扫一扫关注最新编程教程