栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

AES-使用加密(node-js)进行加密/使用Pycrypto(python)进行解密

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

AES-使用加密(node-js)进行加密/使用Pycrypto(python)进行解密

因此,我们从“如何解密… OpenSSL”开始。

  • 我们需要修改加密脚本,该脚本提供了:
    crypto = require "crypto"

    […]
    var iv = new Buffer(‘asdfasdfasdfasdf’)
    var key = new Buffer(‘asdfasdfasdfasdfasdfasdfasdfasdf’)
    var cipher = crypto.createCipheriv(‘aes-256-cbc’, key, iv);
    cipher.update(new Buffer(“mystring”));
    var enc = cipher.final(‘base64’);
    […]

iv 需要16字节长, 密钥 是32字节。然后我们更改

createCipher
createCipheriv

  • 返回python解密脚本:

流程只是阅读PyCrypto的文档,然后与我们从开始的代码进行比较。

然后,我们决定坚持使用API并从头开始。它给了:

    from base64 import b64deprefrom Crypto.Cipher import AES[...]iv = 'asdfasdfasdfasdf'key = 'asdfasdfasdfasdfasdfasdfasdfasdf'enpred = b64depre('my_encrypted_string')dec = AES.new(key=key, mode=AES.MODE_CBC, IV=iv)value = dec.decrypt(enpred)

就这么简单…希望对您有所帮助!

更新:

正如英仙座人在其回答的评论中所写,IV必须是随机的,并且对于每条消息都不同



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/391075.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号