PyCrypto安装和使用示例

有的时候,用python来解密比用C++快很多,省去了很多建工程的力气。Python是每一个加密解密人员必备的一门语言 :)

下面我们来说说如何使用Pycrypto来解密加密的数据。

步骤一:安装PyCrypto,下载地址我给你准备好了:https://www.dlitz.net/software/pycrypto/。可按照如下步骤安装:

                1)将python2.x安装路径加入环境变量path。

                2)按照PyCrypto readme 的指示安装 python setup.py build -> python setup.py install -> python setup.py test.最后测试的时候可能会显示有错,没关系,不管它。为 了减少错误,最好下载PyCrypto稳定版。

步骤二:安装好了以后当时是使用了。我写了如下测试脚本:

#!/usr/bin/python
# -*- coding: utf-8 -*-

import sys
from Crypto.Cipher import AES

obj = AES.new('lyp62/22Sh2RlXJF', AES.MODE_CBC, 'This is an IV456')#密钥,模式,iv
filepath = sys.argv[1]
bin = open(filepath, "rb").read()
output = obj.decrypt(bin)

open(filepath+".o", "wb").write(output)
#print output
#!/usr/bin/python
# -*- coding: utf-8 -*-

import sys
from Crypto.Cipher import AES   
key = '\x00'*16    
iv = b'\x4e\x09\x48\x3e\x38\xf5\xff\x72\x80\x12\x7b\x9e\xfb\x5c\x2d\x33'
mode = AES.MODE_CBC     
decryptor = AES.new(key, mode, iv)        
""" 上例中的key是16位, 还可以是24 或 32 位长度, 其对应为 AES-128, AES-196 和 AES-256. 解密则可以用以下代码进行: """  
#decryptor = AES.new(key, mode) 
#plain = decryptor.decrypt(ciphertext) 

filepath = sys.argv[1]
bin = open(filepath, "rb").read()
output = decryptor.decrypt(bin) 

open(filepath+".o", "wb").write(output)

这里顺便说一下我以前会碰到的一个问题:python脚本默认不支持中文编码,为了在脚本中能使用中文路径,可以在脚本开头加上脚本编码# -*- coding: utf-8 -*-。

脚本的功能是读取一个AES加密的数据文件(你可能经常需要从WireShark里扣数据出来),而我们知道密码,这时候就可以这样子解密。解密的结果保存在XXXX.o文件里。

 

是不是感觉很方便啊。。。

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值