本文摘自php中文网,作者巴扎黑,侵删。
起源:视频下载,解析到一个网站时,发现其视频id是用AES加密过的,用的是这个库。
解密很简单的一句js代码:
1 |
|
原本想着简单,找段python代码做解密是了,没想到反复尝试,写法五花八门多种多样,就是解不出来,竟费去许多工夫!
如何简单?我只需实现验证下面的字串加解密:
1 |
|
1、Python Cryptography Toolkit (pycrypto)
加解密需要用到它,其网址是:
目前最新版本为2.6.1。如何安装及其简单Demo,其页面上都 ,而其用法在网上一搜也到处都是,可就是不能解决我的问题,我想是我用错了,但哪种才是对的哪!
crypto-js这个,应该用的是AES默认模式,AES.MODE_CBC。js代码也是难懂,总是不停试不停试!
2、加密与解密
直接上代码吧,它满足了需求:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
|
同个字串,发现加密后的字串,每次不尽相同。对AES没多研究,挺觉奇怪!
3、打包与发布
若是只用到了Crypto一部分功能,比如我们用到的aes解密,则可以抽简出来所需代码,以避免打入整个Crypto库。
奇怪的是,引用_AES.pyd这个动态库,引用路径有问题。查阅资料,原来Crypto写死了它的引用路径,其页面代码有如此写:
1 |
|
而用py2exe打包抽取,其把Crypto\Cipher\_AES.pyd改名为Crypto.Cipher._AES.pyd文件,放与发布目录下,令人颇长见识
以上就是Python--AES加密与解密方法指导的详细内容,更多文章请关注木庄网络博客!!
相关阅读 >>
Python cookbook(数据结构与算法)将多个映射合并为单个映射
更多相关阅读请进入《Python》频道 >>

Python编程 从入门到实践 第2版
python入门书籍,非常畅销,超高好评,python官方公认好书。