Python
Mis à jour le 18 septembre 2026
Hachage cryptographique en Python (SHA-256)
Calculez des empreintes SHA-256, SHA-512 et MD5 en Python avec le module natif hashlib et le traitement par flux de fichiers.
La bibliothèque standard de Python comprend le module hashlib, qui s'interface avec OpenSSL pour offrir des fonctions de hachage cryptographique accélérées par le matériel.
Démarrage rapide#
Calculez l'empreinte SHA-256 d'une chaîne de caractères :
Python
Formats et Représentations#
L'objet de hachage permet de récupérer l'empreinte sous forme binaire ou hexadécimale :
Python
Hacher de gros fichiers par blocs#
Pour hacher des fichiers volumineux sans saturer la mémoire vive, traitez le fichier par blocs de 64 Ko :
Python
Signatures HMAC et Authentification#
Pour générer des codes d'authentification de message avec clé secrète (webhooks ou API), utilisez hmac :
Python
Bonnes pratiques#
- Utilisez
hmac.compare_digest(): Empêche les attaques par canal auxiliaire (timing attacks) lors de la comparaison des signatures. - Encodez systématiquement en UTF-8 : Spécifiez
chaine.encode("utf-8")pour éviter les incohérences d'encodage selon le système hôte. - Distinguez les usages :
- Hachage cryptographique : Utilisez SHA-256 ou SHA-512 (
hashlib.sha256()). - Hachage haute performance : Utilisez
hashlib.blake2b(), cryptographiquement sûr et plus rapide que SHA-256. - Mots de passe : N'utilisez jamais de hachage simple direct ; préférez des algorithmes dédiés avec sel et coût (Argon2, bcrypt, ou
hashlib.scrypt()).
- Hachage cryptographique : Utilisez SHA-256 ou SHA-512 (