À propos de cet outil
Le Générateur et vérificateur de hachage KDF scrypt dérive et vérifie les sorties scrypt localement dans votre navigateur. scrypt, conçu par Colin Percival et normalisé dans la RFC 7914, est une fonction de dérivation de clé memory-hard : son coût est délibérément dominé par la bande passante mémoire afin que le matériel de craquage sur mesure ne gagne que peu d'avantage. Le pipeline est PBKDF2-HMAC-SHA256 pour étendre le mot de passe, la fonction ROMix construite sur BlockMix et le cœur Salsa20/8 pour forcer une grande utilisation séquentielle de la mémoire, et un PBKDF2-HMAC-SHA256 final pour produire la clé dérivée de la longueur que vous avez choisie.
Le mode génération lit 16 octets de sel aléatoires depuis crypto.getRandomValues et exécute scrypt avec trois paramètres de coût : N est le coût CPU/mémoire et doit être une puissance de deux (par défaut 16384 = 2^14), r est la taille de bloc (par défaut 8), et p est le facteur de parallélisation (par défaut 1). L'utilisation de la mémoire est d'environ 128 · N · r octets — environ 16 Mio aux valeurs par défaut — et l'outil avertit lorsque vos réglages dépasseraient 256 Mio. La sortie est une chaîne autodescriptive $scrypt$ln=14,r=8,p=1$<sel base64>$<clé base64> où ln = log2(N), de sorte que chaque paramètre nécessaire à la vérification est transporté avec le hachage.
Le mode vérification analyse ln, r, p, le sel et la clé stockée de cette chaîne, recalcule la clé dérivée avec le mot de passe candidat, et effectue une comparaison à temps constant pour signaler correspondance ou non-correspondance. Le cœur scrypt s'exécute comme une build WebAssembly sans eval sous la politique de sécurité stricte du navigateur, donc les mots de passe sont traités à 100 % dans votre navigateur et rien n'est téléversé.