Android API 24及更低版本上的PBKDF2WithHmacSHA256

时间:2018-06-28 23:47:37

标签: android security encryption

我正在尝试在Android上使用Luke Joshua Park SecureCompatibleEncryptionExamples。我的问题是PBKDF2WithHmacSHA256在API 26以下不适用于Android。有什么方法可以解决此问题?

1 个答案:

答案 0 :(得分:1)

Android在API 26之前不支持PBKDF2withHmacSHA256,但在旧版本中确实支持PBKDF2withHmacSHA1。除非有特定原因要使用SHA256作为PBKDF2哈希,否则更改它不会有任何危害。

通过调整PBKDF2_NAME参数,可以相对容易地更改存储库中的算法。 SHA1仍可与PBKDF2一起安全使用,因此您只需调整以下内容即可:

private final static String PBKDF2_NAME = "PBKDF2WithHmacSHA256";

收件人:

private final static String PBKDF2_NAME = "PBKDF2WithHmacSHA1";

在您的Android代码和PHP更改中:

define("PBKDF2_NAME", "sha256");

收件人:

define("PBKDF2_NAME", "sha1");

还需要注意的是,如果您将其用作传输安全性,则不应这样做。您应该使用TLS。