Smail_
2017-01-04 21:15:37
python AES CBC 128位Noppadding加密算法
def decrypt(text): padding = '\0' key = 'yourkey' iv = 'youriv' cipher = AES.new(key, AES.MODE_CBC, iv) return cipher.decrypt(binascii.a2b_base64(text).rstrip(padding))
对应的JS算法(依赖CryptoJS):
var key = CryptoJS.enc.Utf8.parse('yourkey');
var iv = CryptoJS.enc.Utf8.parse('youriv');
var decrypt = CryptoJS.AES.decrypt(url, key, {
iv: iv,
mode: CryptoJS.mode.CBC,
padding: CryptoJS.pad.ZeroPadding
});
var result = CryptoJS.enc.Utf8.stringify(decrypt).toString();
就为了这么一个算法,我忙活了一下午,坑死老子了!
坑:系统是win10,C++ Compiler for python 2.7不好使,导致编译pycrypto各种不服,百度爬文三小时,最后放弃了。使用linux不存在这个问题。
既然pycrypto不能用,能不能找到替代的库呢?谷歌一下后还真找到了,pycryptodome,这个是编译好了的库,直接pip install即可。
评论
最近浏览
muzihang LV1
2021年7月25日
793172406 LV1
2020年4月7日
1217261221 LV12
2017年11月1日
蓝轩 LV6
2017年11月1日
迷彩风情 LV26
2017年11月1日
遇见, LV36
2017年11月1日
203778513 LV9
2017年9月13日
最代码折颜 LV13
2017年6月14日
a380387084
2017年1月16日
暂无贡献等级
iopjkl LV2
2017年1月11日