Acerca de esta herramienta
El Generador y verificador de hash scrypt KDF deriva y comprueba salidas scrypt localmente en tu navegador. scrypt, diseñado por Colin Percival y estandarizado en RFC 7914, es una función de derivación de clave memory-hard: su coste está deliberadamente dominado por el ancho de banda de memoria de modo que el hardware de descifrado personalizado gane poca ventaja. La tubería es PBKDF2-HMAC-SHA256 para expandir la contraseña, la función ROMix construida sobre BlockMix y el núcleo Salsa20/8 para forzar un gran uso de memoria secuencial, y un PBKDF2-HMAC-SHA256 final para producir la clave derivada de la longitud que elijas.
El modo de generación lee 16 bytes de sal aleatorios de crypto.getRandomValues y ejecuta scrypt con tres parámetros de coste: N es el coste de CPU/memoria y debe ser una potencia de dos (predeterminado 16384 = 2^14), r es el tamaño de bloque (predeterminado 8), y p es el factor de paralelización (predeterminado 1). El uso de memoria es aproximadamente 128 · N · r bytes —unos 16 MiB con los valores predeterminados— y la herramienta avisa cuando tus ajustes superarían 256 MiB. La salida es una cadena autodescriptiva $scrypt$ln=14,r=8,p=1$<sal en base64>$<clave en base64> donde ln = log2(N), así que todos los parámetros necesarios para verificar se llevan con el hash.
El modo de verificación analiza ln, r, p, la sal y la clave almacenada de esa cadena, recalcula la clave derivada con la contraseña candidata, y hace una comparación de tiempo constante para informar de coincidencia o no coincidencia. El núcleo scrypt se ejecuta como una compilación WebAssembly sin eval bajo la estricta política de seguridad del navegador, así que las contraseñas se procesan al 100 % en tu navegador y nada se sube.