将字符串转换为键

时间:2015-02-01 14:04:44

标签: java encryption key

有没有办法将字符串转换为密钥,以便我可以使用相同的加密密钥进行编码/解码?我不是说使用SecretKey btw。

Key symKey = KeyGenerator.getInstance(algorithm).generateKey();

我正在使用DES算法btw

1 个答案:

答案 0 :(得分:1)

您可能是指密码的密钥派生。一种流行的方法是在Java中使用PBKDF2,例如here所讨论的。不要忘记将迭代次数设置得高,以使暴力攻击复杂化并设置随机盐以防止字典攻击。

现在,在用户身份验证期间,必须使用随机盐,但也可以在加密期间使用随机盐。它只是另一个公共值,它被添加到密文中,如用于CBC模式的IV。

其他替代方案是bcrypt和scrypt,这需要Java中的其他库。