Я пытаюсь воспроизвести этот метод здесь, в Nodejs. Я хотел бы узнать его эквивалент в Node, похожий на Репликация пароля Java код хеширования в Node.js (PBKDF2WithHmacSHA1).
Код Java:
private final byte[] _createSaltedPassword(String password, byte[] salt, int iterationCount) {
byte[] dk;
PBEKeySpec keySpec = new PBEKeySpec(password.toCharArray(), salt, iterationCount, 256);
SecretKeyFactory key = SecretKeyFactory.getInstance("PBKDF2WithHmacSHA256");
dk = key.generateSecret(keySpec).getEncoded();
return dk;
}
Я сохраняю пользователя (пользователя), одноразовый номер клиента (aabbccddaabbccdd), пароль (Password123), соль и количество итераций (4096) одинаковыми для этого примера. Моя последняя попытка получить эквивалент в Node с использованием crypto.
const crypto = require("crypto");
const saltedPassword = crypto.pbkdf2Sync(password, salt, iterationCount, 32, 'sha256').toString('base64');
console.log('Salted Password:', saltedPassword);
Это для дайджест-аутентификации. Журнал вывода из программы на Java:
Журнал вывода из программы Java
Соленый пароль Java: nA0hWFpZshs + iME / leUy + e2gM5mjIgo6PYJ8eNjRdhY =
Соленый пароль узла: PYgn6rcngiE0HSMwzmWhd2W5qTdaRilw4PEeuy3OyRo =
Спасибо.