我正在使用以下库来进行客户端加密 http://bitwiseshiftleft.github.io/sjcl/
它工作正常,用户定义了密码和密钥,在将其推送到服务器之前,我在客户端加密了所有内容。
我想让用户交互更容易,目前用户都记住密钥和密码是繁琐的,我想用用户定义的密码加密密钥并将其连接到密文。对此有什么好处?
使用用户定义的密码加密密钥的好方法是什么,将其与密文连接?
答案 0 :(得分:1)
您可以使用键拉伸作为chrylis指示。在这种情况下,您可以使用PBKDF2,bcrypt,scrypt或Argon2从密码生成密钥。您需要配置工作因子并使用密文保存盐。
以这种方式生成密钥后,您可以使用它包装(加密)另一个随机数据密钥。您也可以直接使用它或与KBKDF(如HKDF)一起使用它来生成数据密钥。