Outils de cryptage, décryptage et génération de hachage
Générez des valeurs de hachage MD5 et MD4 pour du texte ou des fichiers avec plusieurs formats de sortie
Outil en ligne de génération de hachage SHA supportant SHA-1, SHA-256, SHA-384, SHA-512
Crypter et décrypter du texte en toute sécurité à l'aide de l'algorithme AES
Algorithme AES original avec tailles de bloc flexibles (128/192/256 bits). Prend en charge les modes CBC, ECB, CFB, OFB
Décodez, vérifiez et générez des JSON Web Tokens avec support de plusieurs algorithmes de signature
Outil de génération HMAC en ligne supportant MD5, SHA-1, SHA-224, SHA-256, SHA-384, SHA-512, SHA3 et RIPEMD-160
Utiliser le chiffrement asymétrique RSA pour le chiffrement à clé publique, le déchiffrement à clé privée, la signature et la vérification numériques
Générer des paires de clés Ed25519, signer des messages et vérifier des signatures avec l'algorithme de signature numérique à courbe d'Edwards
Générer des paires de clés ECDSA, signer des messages et vérifier des signatures avec les courbes secp256k1, P-256, P-384, P-521
Générer des paires de clés DSA, signer et vérifier des messages avec l'algorithme de signature numérique FIPS 186 (obsolète, vérification uniquement dans FIPS 186-5)
Chiffrer et déchiffrer avec les algorithmes DES et 3DES, plusieurs modes et options de remplissage
Chiffrement par blocs symétrique rapide conçu par Bruce Schneier, avec longueur de clé variable (32-448 bits)
Finaliste AES, chiffrement symétrique à blocs de 128 bits et clés de 128/192/256 bits, conçu par Bruce Schneier
Chiffrement par blocs symétrique à longueur de clé variable (40-128 bits), largement utilisé dans le chiffrement PGP, conforme RFC 2144
Algorithme finaliste AES avec clés 128/192/256 bits, 32 rondes, offrant une excellente marge de sécurité et une résistance cryptanalytique prouvée
Chiffrement par blocs australien candidat AES avec blocs de 128 bits et clés de 128/192/256 bits, conception réseau Feistel de 16 rondes
International Data Encryption Algorithm avec clé de 128 bits et blocs de 64 bits, historiquement utilisé dans PGP
Famille Tiny Encryption Algorithm avec clé de 128 bits, populaire dans le développement de jeux, appareils IoT et systèmes embarqués
Chiffrements en flux et par blocs de la famille RC incluant RC4, RC4-Drop, RC5 et RC6 (finaliste AES)
Chiffrement en flux moderne avec ChaCha20, ChaCha20-Poly1305 AEAD et variantes XChaCha20
Chiffrement en flux haute vitesse avec Salsa20, Salsa20/12, Salsa20/8 et variantes XSalsa20
Chiffrement par blocs standard japonais/européen (ISO/IEC 18033-3) avec clés 128/192/256 bits et plusieurs modes
Chiffrement par blocs standard national coréen (RFC 4269, ISO 18033-3) avec clé 128 bits et mode CBC
Chiffre par blocs russe GOST 28147-89/Magma avec plusieurs modes, options de S-Box et méthodes de remplissage
Générer des hachages BLAKE2b, BLAKE2s et BLAKE3 pour texte et fichiers, algorithmes de hachage rapides et sécurisés
Générer et vérifier des hachages de mot de passe sécurisés avec Bcrypt, Scrypt et Argon2
Dérivez des clés de chiffrement sécurisées à partir de mots de passe avec PBKDF2 SHA-256/384/512, conforme OWASP
Dérivez des clés cryptographiques avec le paradigme extract-expand HKDF RFC 5869, utilisé dans TLS 1.3 et Signal Protocol
Calculer les checksums CRC-8, CRC-16, CRC-32, CRC-64 avec support pour Modbus, CCITT et autres normes de protocole
Calculer les checksums Adler-32 pour texte et fichiers, checksum rapide utilisé dans la compression zlib/gzip
Générer des hashes RIPEMD-128/160/256/320 pour texte et fichiers, RIPEMD-160 largement utilisé dans Bitcoin
Générer des hashes Whirlpool 512 bits avec les algorithmes Whirlpool-0, Whirlpool-T et Whirlpool ISO
Générer des hashes Snefru-128/256 pour texte et fichiers, fonction de hachage cryptographique précoce par Ralph Merkle
Générer des hashes HAS-160, standard cryptographique coréen pour signatures numériques KCDSA
Hash non-cryptographique extrêmement rapide supportant xxHash32, xxHash64, xxHash3 et xxHash128
Générer des hashes SHA3-224/256/384/512 et Keccak avec accélération WebAssembly, utilisé dans Ethereum
Fonction de hachage non-cryptographique haute performance pour tables de hachage, filtres de Bloom et partitionnement de données
Fonction de hachage Fowler-Noll-Vo avec variantes FNV-1 et FNV-1a, utilisée dans DNS, tables de hachage et structures de données
Générer des hachages GOST R 34.11-94 et Streebog (GOST R 34.11-2012), standards cryptographiques nationaux russes
Outils de cryptographie standard national chinois prenant en charge le chiffre à clé publique SM2, le hachage SM3 et le chiffre par bloc SM4
La cryptographie est la pratique d'utilisation d'algorithmes mathématiques pour sécuriser les données contre l'accès non autorisé et la manipulation. Cette catégorie couvre les opérations cryptographiques essentielles, notamment le chiffrement symétrique (AES, DES, Blowfish, Twofish), le chiffrement asymétrique (RSA), les algorithmes de hachage (MD5, SHA, BLAKE), HMAC pour l'authentification et JWT pour la génération de jetons sécurisés. Ces outils sont fondamentaux pour protéger les informations sensibles dans les applications, les API, les bases de données et la transmission de données. La cryptographie moderne offre la confidentialité par le chiffrement, l'intégrité par le hachage et l'authenticité par les signatures numériques. Comprendre quand et comment utiliser chaque algorithme cryptographique est essentiel pour construire des systèmes sécurisés. Ce guide couvre la sélection d'algorithmes, les meilleures pratiques de gestion des clés, les considérations de sécurité et les pièges courants à éviter.
Advanced Encryption Standard (AES) est la norme industrielle pour le chiffrement symétrique, utilisée par les agences gouvernementales et les entreprises dans le monde entier. Supporte des tailles de clés de 128, 192 et 256 bits, avec AES-256 offrant une sécurité résistante au quantique pour les données hautement sensibles.
RSA est un système cryptographique à clé publique permettant une communication sécurisée sans échange préalable de clés. Essentiel pour HTTPS, les signatures numériques et les scénarios de chiffrement asymétrique où les parties ne se sont jamais rencontrées.
La famille SHA (Secure Hash Algorithm) fournit des fonctions de hachage cryptographiques pour la vérification de l'intégrité des données, le stockage des mots de passe et les signatures numériques. SHA-256 et SHA-3 sont recommandés pour les nouvelles applications.
| Type d'Algorithme | Description & Cas d'Usage |
|---|---|
| Chiffrement Symétrique (AES, DES, Blowfish) | Utilise une seule clé partagée pour le chiffrement et le déchiffrement. Rapide et efficace pour de gros volumes de données. Exemples : AES-256, DES (déprécié), Blowfish. Idéal pour : chiffrement de base de données, chiffrement de fichiers, protection de données locales. Inconvénient : défi de distribution de clés. |
| Chiffrement Asymétrique (RSA) | Utilise une clé publique pour chiffrer et une clé privée pour déchiffrer. Permet une communication sécurisée sans pré-partage de clés. Idéal pour : HTTPS, signatures numériques, échange de clés. Inconvénient : plus lent que le chiffrement symétrique, adapté aux petites données. |
| Hachage (MD5, SHA, BLAKE) | Fonction à sens unique produisant une empreinte de taille fixe des données. Ne peut pas être inversée vers les données d'origine. Utilisé pour la vérification de l'intégrité et le stockage des mots de passe. Exemples : SHA-256, SHA-3, BLAKE2. À éviter : MD5 (vulnérabilités de collision). |
| HMAC (Code d'Authentification de Message basé sur Hachage) | Combine le hachage avec une clé secrète pour vérifier à la fois l'intégrité et l'authenticité. Essentiel pour l'authentification API et la vérification de messages. Supporte n'importe quel algorithme de hachage (HMAC-SHA256, HMAC-SHA512). |
| JWT (Jetons Web JSON) | Format de jeton compact et sûr pour URL pour l'authentification sans état et l'échange d'informations. Contient en-tête, charge utile et signature. Utilisez RS256/ES256 pour la signature asymétrique, HS256 uniquement pour les parties de confiance. |
| Cryptographie SM (Norme Chinoise) | Normes cryptographiques nationales chinoises incluant SM2 (asymétrique), SM3 (hachage), SM4 (symétrique). Utilisée dans les systèmes conformes à la Chine. SM2 offre une sécurité similaire à RSA-2048 avec des clés de 256 bits. |
Utilisez AES-256 pour le chiffrement symétrique, RSA-2048+ ou ECC pour le chiffrement asymétrique, SHA-256+ ou SHA-3 pour le hachage. Évitez les algorithmes dépréciés : MD5 (collisions), SHA-1 (faiblesses), DES (clés 56 bits), RC4. Vérifiez les recommandations NIST pour les exigences de conformité.
Générez les clés en utilisant des générateurs aléatoires cryptographiquement sécurisés. Stockez les clés en toute sécurité (modules de sécurité matérielle, coffres-forts de clés, ne jamais coder en dur). Faites tourner les clés régulièrement (recommandation annuelle). Utilisez des clés différentes à des fins différentes. Ne jamais enregistrer ou exposer les clés dans les messages d'erreur.
Pour les données sensibles, utilisez AES-GCM (mode Galois/Compteur) fournissant à la fois chiffrement et authentification. N'utilisez jamais le mode ECB (chiffre les blocs de texte clair identiques de manière identique). Évitez le chiffrement non authentifié suivi de HMAC séparé (utilisez plutôt les modes AEAD).
Ne stockez jamais les mots de passe en clair. Utilisez bcrypt, scrypt ou Argon2 pour le hachage de mots de passe (pas SHA simple). Ajoutez un sel unique par mot de passe. Utilisez des facteurs de travail empêchant les attaques par force brute. Implémentez le verrouillage de compte après des tentatives échouées.
Utilisez des RNG cryptographiquement sécurisés (java.security.SecureRandom, /dev/urandom sur Unix, CryptGenRandom sur Windows). Amorcez correctement les RNG. Évitez Math.random() et les graines prévisibles. Générez suffisamment d'entropie pour les tailles de clés.
Vérifiez toujours la signature JWT avant d'accepter les jetons. Vérifiez les horodatages d'expiration. Validez les revendications émetteur (iss) et audience (aud). Utilisez des temps d'expiration courts (15-60 minutes). Implémentez un mécanisme de jeton de rafraîchissement. Ne jamais faire confiance aux jetons 'alg: none'.