scrypt Générateur de Hachage

Outil en ligne gratuit scrypt Générateur de Hachage. Traitement 100% local — vos données ne quittent jamais votre appareil.

General
Password Hashing / KDF
Specialized
Deprecated
bytes
Sortie

Le résultat sera affiché ici...

Entrée Calculer le hachage

Usage Guide

À propos de scrypt

scrypt (RFC 7914) est une fonction de dérivation de clé basée sur un mot de passe à forte consommation mémoire, conçue pour être coûteuse à la fois en temps CPU et en mémoire. Elle a été créée pour résister aux attaques par force brute via GPU, FPGA et ASIC qui menacent PBKDF2 et bcrypt. scrypt est utilisé dans la preuve de travail de Litecoin, les gestionnaires de mots de passe et la dérivation sécurisée de clés. Trois paramètres de coût permettent d'ajuster l'équilibre entre sécurité et performance.

scrypt est une KDF, pas une fonction de hachage. Elle dérive une clé à partir d'un mot de passe et d'un sel — la sortie n'est PAS directement comparable entre différents paramètres. Stockez toujours la chaîne de paramètres complète (n:r:p:salt:key) pour permettre une vérification future.

Étapes d'utilisation

scrypt est une fonction de dérivation de clé unidirectionnelle — elle ne peut pas être inversée :

1. Saisir le mot de passeTapez le mot de passe dont vous souhaitez dériver une clé dans le champ de saisie
2. Configurer les paramètresDéfinissez N (coût CPU/mémoire), r (taille de bloc), p (parallélisme). Les valeurs par défaut (N=16384, r=8, p=1) conviennent aux connexions interactives
3. Dériver la cléCliquez sur 'Chiffrer' — la sortie est au format n:r:p:salt_base64:key_hex
4. Vérifier le mot de passePour vérifier, collez la chaîne de sortie complète après le mot de passe séparée par | (ex. monmotdepasse|16384:8:1:salt:keyhex) puis cliquez sur 'Déchiffrer'
Confidentialité : Toutes les dérivations s'exécutent entièrement dans votre navigateur via WebAssembly. Votre mot de passe n'est jamais transmis.

Format de sortie

scrypt génère la chaîne de paramètres complète nécessaire aux vérifications futures :

Formatn:r:p:salt_base64:key_hex (ex. 16384:8:1:abc123...:d4e5f6...)
NFacteur de coût CPU et mémoire — doit être une puissance de 2 (ex. 16384 = 2¹⁴)
rParamètre de taille de bloc — affecte le coût de bande passante mémoire
pFacteur de parallélisation — augmente le coût CPU indépendamment de la mémoire
SelSel aléatoire de 16 octets généré automatiquement par dérivation (encodé en Base64)
CléClé dérivée de 32 octets (encodée en hexadécimal)

Choisir les paramètres scrypt

Sélectionnez les paramètres en fonction de vos exigences de sécurité et de la latence acceptable :

Interactif (connexion)N=16384, r=8, p=1 — ~100ms sur matériel moderne, adapté à l'authentification web
Sensible (chiffrement de fichiers)N=1048576, r=8, p=1 — ~5s sur matériel moderne, adapté aux clés de chiffrement de disque
N doit être une puissance de 2Valeurs valides : 1024, 2048, 4096, 8192, 16384, 32768, 65536, 131072, 262144, 524288, 1048576
Utilisation mémoireEnviron 128 × N × r octets (ex. N=16384, r=8 → ~16 Mo)
Pour les nouvelles applications, envisagez Argon2id (le gagnant du Password Hashing Competition recommandé par le NIST et l'OWASP). scrypt est excellent et largement déployé, mais Argon2id dispose d'un modèle de paramètres plus simple.

FAQ

Q: Qu'est-ce qui rend scrypt résistant aux attaques matérielles ?

A: scrypt est intensif en mémoire : son algorithme interne ROMix nécessite d'accéder à un grand bloc mémoire (128 × N × r octets) dans un ordre pseudo-aléatoire. Ce schéma d'accès séquentiel à la mémoire ne peut pas être parallélisé comme SHA-256 — remplir N=16384, r=8 nécessite ~16 Mo d'accès aléatoires, rendant les attaques sur matériel GPU/ASIC des ordres de grandeur plus coûteuses par rapport aux hachages purement computationnels comme SHA-256 ou PBKDF2.

Q: Comment scrypt se compare-t-il à bcrypt et Argon2 ?

A: Les trois sont des algorithmes de hachage de mots de passe mais diffèrent dans leur conception : bcrypt (1999) n'est que coûteux en temps (4 Ko de mémoire fixe), le rendant de plus en plus vulnérable aux attaques GPU. scrypt (2009) est intensif en mémoire, résistant aux GPU/ASIC, mais présente des interactions complexes entre paramètres (un N élevé augmente aussi le coût CPU via p). Argon2id (2015, vainqueur du PHC) est intensif en mémoire, résistant aux GPU, et dispose de paramètres indépendants de temps/mémoire/parallélisme. L'OWASP et le NIST recommandent Argon2id pour les nouveaux systèmes ; scrypt est un excellent second choix.

Q: Pourquoi N doit-il être une puissance de 2 ?

A: L'algorithme ROMix de scrypt utilise N en interne comme la taille d'une table de recherche et s'appuie sur le masquage de bits (index & (N-1)) pour un accès aléatoire efficace. Cette astuce de masquage ne fonctionne correctement que lorsque N est une puissance de 2. Valeurs courantes : 16384 (2¹⁴) pour un usage interactif, 1048576 (2²⁰) pour le chiffrement de fichiers.

Q: Puis-je utiliser la sortie scrypt directement comme clé cryptographique ?

A: Oui — scrypt est spécifiquement conçu pour produire du matériel de clé. La sortie de 32 octets (256 bits) convient comme clé AES-256 ou clé ChaCha20-Poly1305. Cependant, n'utilisez jamais la même dérivation scrypt à plusieurs fins (ex. authentification ET chiffrement) — dérivez des clés séparées avec des sels différents ou utilisez une KDF comme HKDF pour étendre une clé racine.

Q: Quel est le format d'entrée pour la vérification ?

A: Pour vérifier un mot de passe contre un hash scrypt stocké, placez le mot de passe et la chaîne de sortie scrypt complète séparés par une barre verticale : motdepasse|16384:8:1:salt_base64:key_hex. L'outil re-dérive la clé en utilisant les paramètres stockés et la compare à la clé stockée. Si elles correspondent, il retourne '✓ Mot de passe vérifié'.

Q: scrypt est-il approprié pour le stockage de mots de passe en base de données ?

A: Oui, avec les paramètres appropriés. Stockez la chaîne complète (n:r:p:salt:key) par utilisateur — elle contient tout le nécessaire pour les vérifications futures. Utilisez au minimum N=16384, r=8, p=1 pour les connexions interactives ; augmentez N pour les applications plus critiques. Consultez la fiche de référence OWASP sur le stockage des mots de passe pour les recommandations actuelles.

Use Cases

Recommandé : Stockage de mots de passe

scrypt est un excellent choix pour hacher les mots de passe avant de les stocker dans une base de données. Son intensité mémoire rend les attaques par force brute hors ligne des ordres de grandeur plus coûteuses que PBKDF2 ou bcrypt. Utilisez N≥16384 pour les applications web, des valeurs plus élevées pour les systèmes plus sensibles.

Recommended Configuration:
  • ✅ scrypt avec N=16384, r=8, p=1 pour les connexions web interactives
  • ✅ Stocker la chaîne complète n:r:p:salt:key — jamais seulement la clé
  • ✅ Utiliser un sel aléatoire unique par utilisateur (généré automatiquement par cet outil)
  • ❌ Ne pas utiliser scrypt avec N<1024 — facteur de travail insuffisant
  • 💡 Envisager Argon2id pour les nouveaux projets — recommandation actuelle de l'OWASP
Recommandé : Dérivation de clé pour le chiffrement de disque

scrypt est bien adapté pour dériver des clés de chiffrement à partir de phrases secrètes pour le chiffrement de disque ou de fichiers. Des paramètres plus élevés (N=1048576) sont appropriés car la dérivation n'a lieu qu'une fois au montage et les quelques secondes de délai supplémentaires sont acceptables. La clé dérivée peut être utilisée directement avec AES-256-GCM.

Recommended Configuration:
  • ✅ scrypt avec N=1048576 (2²⁰) pour la dérivation de clés de chiffrement disque/fichiers
  • ✅ Utiliser la sortie de 32 octets directement comme clé AES-256-GCM
  • ✅ Stocker les paramètres scrypt et le sel avec les données chiffrées
  • ❌ Ne pas utiliser la même clé dérivée pour l'authentification et le chiffrement
Recommandé : Applications de cryptomonnaie

scrypt a été adopté comme algorithme de Proof-of-Work pour Litecoin (et d'autres cryptomonnaies). Dans les applications de portefeuille, scrypt est utilisé pour dériver des clés privées à partir de mnémoniques ou de phrases secrètes. Son intensité mémoire a été choisie spécifiquement pour résister aux avantages du minage ASIC.

Recommended Configuration:
  • ✅ scrypt pour la dérivation de clés de portefeuille à partir de phrases secrètes
  • ✅ scrypt pour le stockage de clés protégées par phrase secrète
  • ❌ Pour les applications de minage PoW, utiliser des paramètres spécifiques à l'implémentation
Non recommandé : Contextes non authentifiés

scrypt dérive une clé — il ne fournit pas d'authentification ou d'intégrité par lui-même. Si vous avez besoin d'un code d'authentification de message, utilisez HMAC-SHA256. Si vous avez besoin d'une somme de contrôle de données rapide, utilisez SHA-256. Le coût computationnel de scrypt le rend inadapté aux opérations à fort volume.

Recommended Configuration:
  • ❌ scrypt pour le hachage général (utiliser SHA-256 à la place)
  • ❌ scrypt pour HMAC ou l'authentification de messages
  • ❌ scrypt pour les opérations haute fréquence (signature de requêtes API, jetons par requête)
  • ✅ scrypt uniquement là où ses propriétés de protection par mot de passe sont explicitement requises

Résumé des bonnes pratiques

  • scrypt est une KDF intensive en mémoire — adaptée au hachage de mots de passe et à la dérivation de clés à partir de phrases secrètes.
  • Stockez toujours la chaîne de paramètres complète (n:r:p:salt:key) — jamais la clé seule.
  • N doit être une puissance de 2 ; la valeur par défaut N=16384, r=8, p=1 convient aux connexions interactives.
  • Pour les nouvelles applications, l'OWASP recommande Argon2id en premier choix ; scrypt est le solide second choix.
  • scrypt N'est PAS approprié pour le hachage général, les MACs ou les opérations haute fréquence — utilisez SHA-256 ou HMAC pour ceux-ci.

Discussion et commentaires

0 commentaires
Moi