De quel outil de clé ou de hachage ai-je besoin
| Votre tâche | Outil |
|---|---|
| Lire un certificat : noms, expiration, empreintes | Décodeur de certificats |
| Vérifier une CSR avant de l’envoyer à une AC | Décodeur de CSR |
| Convertir entre PEM texte et DER binaire | PEM en DER, DER en PEM |
| Calculer l’empreinte d’une clé publique SSH ou la convertir | Empreinte de clé SSH |
| SHA-256 d’un texte ou d’un fichier, en hex et en Base64 | SHA-256 en Base64 |
| Content-MD5 et anciennes sommes de contrôle | MD5 en Base64 |
| Signer un webhook ou une requête d’API | Générateur HMAC |
integrity="sha384-…" pour un script ou une feuille de style | Générateur de hachage SRI |
| Une chaîne Base64 aléatoire de n’importe quelle longueur | Générateur de Base64 aléatoire |
APP_KEY Laravel, clés AES, secrets JWT et HMAC | Générateur de clés Base64 |
| Un nonce pour une Content Security Policy | Générateur de nonce CSP |
| Chiffrer ou déchiffrer du texte avec un mot de passe | Chiffrement AES, Déchiffrement AES |
Là où le Base64 rencontre la cryptographie
PEM est du Base64 d’ASN.1 encodé en DER, entre des lignes -----BEGIN …-----. Certificats, CSR, clés publiques et privées l’utilisent tous. Le DER en Base64 commence par MII pour la plupart des certificats et des clés RSA, par MFkw pour les clés publiques EC P-256 et par MCowBQYDK2Vw pour les clés publiques Ed25519 : le type se voit donc souvent avant même le décodage.
Les clés SSH utilisent une autre structure. La partie AAAAC3NzaC1lZDI1NTE5… d’une ligne ssh-ed25519 est le Base64 du blob de la clé, et l’empreinte familière SHA256:… est le hachage en Base64 de ce blob, sans remplissage.
Les hachages sont des octets bruts. Le SHA-256 du texte hello fait 32 octets : 2cf24dba…9824 en 64 caractères hex, ou LPJNul+wow4m6DsqxbninhsWHlwfp0JecwQzYpOLmCQ= en 44 caractères Base64. Les signatures de webhooks, les attributs SRI et les en-têtes S3 Content-MD5 attendent la forme Base64, et la comparer à un condensat hex est une source fréquente d’erreurs « signature mismatch ».
Les secrets aléatoires des fichiers de configuration sont généralement 32 octets aléatoires en Base64, par exemple openssl rand -base64 32. Le générateur de clés produit le même format avec des préréglages pour les frameworks courants.
Ce que ces outils ne font pas
- Ils ne vérifient pas les chaînes de certificats et ne contrôlent pas la révocation. La page ne peut pas se connecter à d’autres serveurs, et c’est voulu.
- Ils n’affichent pas le contenu des clés privées. Les outils de certificats ne montrent que le type et la taille d’une clé privée, et l’outil SSH ne lit que la partie publique d’un fichier de clé privée.
- MD5 et SHA-1 sont proposés pour la compatibilité avec les systèmes existants. Ne les utilisez pas dans de nouvelles conceptions de sécurité.
Pour signer et vérifier des JWT, voir les outils web et jetons. Pour comprendre pourquoi aucun de ces Base64 n’est secret en soi, lisez encodage ou chiffrement.
FAQ
Pourquoi les hachages et les clés sont-ils si souvent écrits en Base64 ?
Parce que c’est plus court que l’hex. Un hachage SHA-256 fait 64 caractères en hex mais 44 en Base64, et une clé de 32 octets demande 44 caractères Base64 au lieu de 64. Les attributs SRI, les empreintes SSH, les signatures HMAC et la plupart des secrets de .env l’utilisent pour cette raison.
Le Base64 est-il une forme de chiffrement ?
Non. N’importe qui peut inverser du Base64. Une clé privée PEM n’est que le Base64 des octets de la clé, c’est pourquoi le fichier lui-même doit être protégé. Un vrai chiffrement, comme avec l’outil AES, demande une clé ou un mot de passe pour être annulé.
Les clés aléatoires sont-elles sûres ?
Elles proviennent de crypto.getRandomValues du navigateur, la même source cryptographiquement sûre que WebCrypto utilise pour ses clés. Rien n’est stocké ni envoyé : chaque valeur n’existe que sur votre écran jusqu’à ce que vous la copiiez.