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

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.051e.com
本文地址:http://www.051e.com/it/391075.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 ©2023-2025 051e.com

ICP备案号:京ICP备12030808号