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.
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.
Étapes d'utilisation
scrypt est une fonction de dérivation de clé unidirectionnelle — elle ne peut pas être inversée :
Format de sortie
scrypt génère la chaîne de paramètres complète nécessaire aux vérifications futures :
Choisir les paramètres scrypt
Sélectionnez les paramètres en fonction de vos exigences de sécurité et de la latence acceptable :
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.
- ✅ 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.
- ✅ 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.
- ✅ 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.
- ❌ 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.