gpt4 book ai didi

node.js - 当使用已弃用的 `crypto.createCipher` 函数时,Node.JS 加密模块如何生成 key 和初始化向量?

转载 作者:太空宇宙 更新时间:2023-11-03 23:54:47 24 4
gpt4 key购买 nike

我继承了一个数据库,其中一些字段由旧代码加密。

代码使用了(现已弃用)crypto.createCipher Node.js 提供的函数。该函数期望传递明文密码,而不是 key 和初始化向量。文档表明 key 和 IV 是(以某种方式)从提供的密码派生的。

我拥有所使用的密码,但想要解密另一个应用程序中的数据,该应用程序是用使用标准 key /IV 组合来初始化 AES 密码 (Python 3) 的语言编写的。

查看 Node.js 代码库,位于 cipher.js ,我根本不明白这是如何完成的。

最佳答案

写完这篇文章后,我发现这个问题有一个特定于 ruby​​ 的答案 here我在搜索时找不到。我决定在这里创建一个更通用的问题和答案,以提高其可见性。

Node 使用 md5 hash function 计算键和值。

使用以下算法生成 32 字节 key (以伪代码显示):

Let A = md5(password)
Let B = md5(concatenate(A, password))
Let Key = concatenate(A,B)

然后生成 16 字节初始化向量:

Let IV = md5(concatenate(key, password))

关于node.js - 当使用已弃用的 `crypto.createCipher` 函数时,Node.JS 加密模块如何生成 key 和初始化向量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57775676/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com