标签: javascript random cryptography
我想创建一个应用程序,其中登录密码可以是伪随机数生成器的种子,以重新创建加密密钥。然后,该加密密钥将用于加密发送到应用程序数据库和从应用程序数据库发送的所有数据,使得用户数据甚至无法访问主机。
PRNG的这种使用甚至可以加密安全吗?如果是这样,PRNG算法最适合这个应用程序?强制执行一个体面的长度最小密码长度很重要?这个设置还有其他问题吗?
答案 0 :(得分:4)
您需要的是一个密钥派生函数,例如PBKDF2(基于密码的密钥派生函数2),它可以完全满足您的需求。
您传递密码,来自CSPRNG的随机种子和重复计数。随机种子不需要保密,可以与加密数据一起保存。应该选择计数,使得推导大约需要100ms。