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即可。

分享到:

最近浏览
a380387084 1月16日
暂无贡献等级
iopjkl 1月11日
最代码贡献等级说明
2876285934 1月11日
暂无贡献等级
程序猿全敏 LV3 1月6日
最代码贡献等级说明
jiajian_22 1月5日
最代码贡献等级说明
201404zuidaima 1月5日
暂无贡献等级
最代码官方 LV4 1月5日
最代码贡献等级说明
Smail_ LV3 1月5日
最代码贡献等级说明
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友