如何从String生成javax.crypto.SecretKey

时间:2012-10-05 20:40:38

标签: android string encryption cryptography secret-key

以下行允许我生成一个SecretKey

 SecretKey key = KeyGenerator.getInstance("DES").generateKey();

但我想生成一个与特定String相关的SecretKey。

例如

String myKeyStr="abcde";

SecretKey mykey2=keyGeneratedFrom(myKeyStr);

显然,SecretKey生成应该有一个1:1链接,以避免在解密过程中出现问题。

我不知道如何解决这个问题。

你能帮帮我吗?

1 个答案:

答案 0 :(得分:1)

密码不是密钥。您必须使用类似PBKDF2的东西从密码派生密钥。即使这样,拥有安全密码也是值得的。在Java中使用时,有很多关于PBKDF2的信息,而Bouncy Castle库也可以提供帮助。

等等。

不要忘记使用随机盐。