这是一种安全的方式来进行两次密钥加密来存储第三方密码吗?

时间:2017-02-08 03:04:15

标签: node.js encryption

我正在构建一个连接到第三方api的系统,我必须为连接到该api的每个用户存储密码。我需要确保密码安全存储,因此我不想将用户的密码作为加密密钥。但我还需要确保我们需要用户通过输入密码来验证密码的使用。

我想通过将用户的id和密码与服务器上的密钥组合来创建密钥(只需将它们连接起来)。然后我使用crypto的createCipheraes256以及新生成的密钥来加密第三方密码并将其发送到存储。

我注意到createCipher文档中的文字说明了这一点:

  

根据OpenSSL建议使用pbkdf2而不是EVP_BytesToKey,建议开发人员使用crypto.pbkdf2()自行派生密钥和IV,并使用crypto.createCipheriv()创建Cipher对象。

我读到了关于静脉注射和它们要防止的攻击(仍然非常混淆它的工作方式,尤其是我的用例)但我认为,因为这在技术上每次都会使用不同的密钥,不成问题。

这是犹太人吗?我缺少这个系统的漏洞吗?

0 个答案:

没有答案