Android не поддерживает PBKDF2withHmacSHA256
до API 26, но поддерживает более ранние версии 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.