PyCrypto安装和使用示例

您所在的位置:网站首页 python安装pycrypto PyCrypto安装和使用示例

PyCrypto安装和使用示例

2024-06-03 20:56| 来源: 网络整理| 查看: 265

有的时候,用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文件里。

 

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



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3