Hola tengo una pequeña duda de que alternativa utilizar a la función hash_pbkdf2 de PHP en javascript.
Ejemplo en PHP
<?php
$salt = hex2bin("0123456789ABCDEF0123456789ABCDEF");
$secret = hash_pbkdf2("sha512","secret",$salt,200000,0,false);
echo "$secret\n";
?>
Salida:
b14e5cb8d8ab9cabd2374a6d7a3dc6c1e8c2426fea3aaee98739d39c7e98661848fa22dc08e8734790fc4f88a007bd1a6e38ee4f70c7d3823bae8b848a9cedfa
Ya intente utilizar WebCrypto API y tambien CryptoJS y ninguno produce el mismo resultado, tal vez estoy haciendo las cosas mal no lo se, pero no mas no doy con la solucion
function test() {
salt = hexToBytes("0123456789ABCDEF0123456789ABCDEF");
password = "secret"
secret = CryptoJS.PBKDF2(CryptoJS.enc.Utf8.parse(password), CryptoJS.enc.Utf8.parse(salt), { keySize: 512 / 32, iterations: 200000, hasher: CryptoJS.algo.SHA512});
console.log(secret);
}
Salida
4e334679d8a7368e0ed0d0699f164317931f4bf227c45989ed59b3ad2424bbe8b056298c0d56e08c810ce4e1ad7e34ab067ab1e9ee47a9ee69ab7ab3351ea126
Adicional a esto tengo el problema del Rendimiento en PHP originalmente tenia Un millon de Iteraciones y en PHP solo tardaba un segundo, pero estas funciones de JS tardaban mas de 2 minutos.
Saludos!