学逆向论坛

找回密码
立即注册

只需一步,快速开始

发新帖

1246

积分

6

好友

46

主题
发表于 2019-4-7 16:52:30 | 查看: 10427| 回复: 1
再看这个主题之前希望大家先看一下我的另一篇文章 利用pyDes库实现DES的加密
不然的话可能这篇文章对于没有基础的读者来说读起来有些压力
DES的加密和DES的解密基本上的代码是差不多的,所以这里我介绍起来也会省略一部分在DES加密这篇文章中介绍过的一些内容
接下来步入正文:
我们首先来看一下代码
from pyDes import CBC,des,PAD_PKCS5
import binascii
KEY="hellomcs"
str="c7e92f31d088ccf5"
secret_key=KEY
iv=secret_key
d=des(secret_key,CBC,iv,pad=None,padmode=PAD_PKCS5)
k=d.decrypt(binascii.a2b_hex(str),padmode=PAD_PKCS5)
print(k)

第一步导入DES加解密所需要的模块
然后导入binascii(这个是为了能更好的显示结果不然是16进制不是ascii码)
key:密钥
str:已加密的字符串
然后为了方便给des()函数操作我们将KEY换了下名字换成了secret_key和iv
d=des( ):这里需要注意的是如果你在加密的过程中是用的CBC的模式的话解密的时候也是要用这个模式的,PAD_PKCS5也是要和加密的时候一样的
k=d.decrypt():解密函数,这里需要注意的是你需要加上binascii.a2b_hex(str),这是因为你str的值是经过转换之后的ascii码,如果不经过处理的话它会当作16进制来处理,很显然就解不出来了


执行结果:
795225ca9b99a3f7e4.png
很显然跟我们之前做加密的时候的字符串是一样的。
温馨提示:
1.如果您喜欢这篇帖子,请给作者点赞评分,点赞会增加帖子的热度,评分会给作者加学币。(评分不会扣掉您的积分,系统每天都会重置您的评分额度)。
2.回复帖子不仅是对作者的认可,还可以获得学币奖励,请尊重他人的劳动成果,拒绝做伸手党!
3.发广告、灌水回复等违规行为一经发现直接禁言,如果本帖内容涉嫌违规,请点击论坛底部的举报反馈按钮,也可以在【投诉建议】板块发帖举报。
发表于 2019-4-14 01:20:31 来自手机
我有空用java试试能不能实现

小黑屋|手机版|站务邮箱|学逆向论坛 ( 粤ICP备2021023307号 )|网站地图

GMT+8, 2024-11-22 06:24 , Processed in 0.149881 second(s), 45 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表