最代码广告位
Smail_的gravatar头像
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即可。

分享到:

最近浏览
a3803870841月16日
暂无贡献等级
iopjkl1月11日
最代码贡献等级说明
28762859341月11日
暂无贡献等级
程序猿全敏 LV31月6日
最代码贡献等级说明
jiajian_221月5日
最代码贡献等级说明
暂无贡献等级
最代码官方 LV41月5日
最代码贡献等级说明
Smail_ LV31月5日
最代码贡献等级说明
最代码广告位
顶部客服微信二维码底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友