gpt4 book ai didi

java - KeySpec 抛出 "Salt not found"- 不需要盐

转载 作者:行者123 更新时间:2023-12-02 02:04:14 25 4
gpt4 key购买 nike

我目前正在编写一小段代码,该代码应该在将 byte[] 存储在文件中之前对其进行加密。在下面的代码片段中,我尝试使用 PBKDF2 从密码生成 SecretKey。

public SecretKey deriveKey(String password)
throws NoSuchAlgorithmException, InvalidKeySpecException {
SecretKeyFactory kf = SecretKeyFactory.getInstance("PBKDF2WithHmacSHA1");
KeySpec specs = new PBEKeySpec(password.toCharArray());
SecretKey key = kf.generateSecret(specs);
return key;
}

这会引发异常

java.security.spec.InvalidKeySpecException: Salt not found

位于 return 语句之前的最后一行。这对我来说似乎很令人困惑,因为 PBEKeySpec 明确不需要任何更多参数,如 here 所示。 .

这不是一场悲剧,无论如何我稍后都会加盐,甚至上面已经进一步定义了它,但我很好奇是否有人知道为什么会发生这种情况。我可能做了一些非常错误的事情,只是没有注意到。

最佳答案

这与 PBEKeySpec 类是否需要盐无关。算法PBKDF2需要盐。该 API 是一个通用 API,应该满足多种算法的需求,其中一些算法可能会在将来定义。

关于java - KeySpec 抛出 "Salt not found"- 不需要盐,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51047771/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com