我使用Node.js和Express.js来公开一些API。一些密码需要存储在配置文件(json)中,然后用于连接到其他一些服务器。实施例中,
$ ./bin/cmblines <dat/cmblines.txt
'This is Line 1line '
(19 chars)
出于安全原因,这些密码需要加密(随后由Express.js中部署的服务解密以连接到另一台服务器)。
我查看了一些Node.js加密软件包,发现了几个npm软件包,如crypto-js,cryptr,simple-encryptor等。
现在,IT团队已经分享了一些安全要求 -
&#39;确保CSPRNG而不是PRNG用于JavaScript加密&#39;
当我查看这些包时,我无法找到他们是否使用CSPRNG或PRNG。有人可以帮我理解究竟有什么区别,加密/解密包使用CSPRNG而不是PRNG?
答案 0 :(得分:0)
我相信您的IT团队要求您在加密密码时生成盐。 Bcrypt可能是最好的加密库。我不认为如果你使用PRNG或CSPRNG来生成哈希值会有所不同。看这篇文章。 https://crypto.stackexchange.com/questions/35576/do-i-need-to-use-a-csprng-when-creating-salts-for-user-accounts