有没有办法将字符串转换为密钥,以便我可以使用相同的加密密钥进行编码/解码?我不是说使用SecretKey btw。
Key symKey = KeyGenerator.getInstance(algorithm).generateKey();
我正在使用DES算法btw
答案 0 :(得分:1)
您可能是指密码的密钥派生。一种流行的方法是在Java中使用PBKDF2,例如here所讨论的。不要忘记将迭代次数设置得高,以使暴力攻击复杂化并设置随机盐以防止字典攻击。
现在,在用户身份验证期间,必须使用随机盐,但也可以在加密期间使用随机盐。它只是另一个公共值,它被添加到密文中,如用于CBC模式的IV。
其他替代方案是bcrypt和scrypt,这需要Java中的其他库。