Python Language MD5 hash d'une chaîne


Exemple

Ce module implémente une interface commune à de nombreux algorithmes de hachage et de résumé des messages sécurisés. Sont inclus les algorithmes de hachage sécurisés FIPS SHA1, SHA224, SHA256, SHA384 et SHA512 (définis dans FIPS 180-2) ainsi que l'algorithme MD5 de RSA (défini dans Internet RFC 1321).

Il existe une méthode de constructeur nommée pour chaque type de hachage. Tous renvoient un objet de hachage avec la même interface simple. Par exemple, utilisez sha1() pour créer un objet de hachage SHA1.

hash.sha1()

Les constructeurs des algorithmes de hachage qui sont toujours présents dans ce module sont md5() , sha1() , sha224() , sha256() , sha384() et sha512() .

Vous pouvez maintenant alimenter cet objet avec des chaînes arbitraires en utilisant la méthode update() . A tout moment, vous pouvez demander le résumé de la concaténation des chaînes qui lui ont été hexdigest() à l'aide des méthodes digest() ou hexdigest() .

hash.update(arg)

Mettez à jour l'objet hash avec la chaîne arg. Les appels répétés équivalent à un seul appel avec la concaténation de tous les arguments: m.update (a); m.update (b) est équivalent à m.update (a + b).

hash.digest()

Renvoie le résumé des chaînes passées à la méthode update () jusqu'à présent. Il s'agit d'une chaîne d'octets digest_size pouvant contenir des caractères non-ASCII, y compris des octets nuls.

hash.hexdigest()

Comme digest (), sauf que digest est renvoyé sous la forme d'une chaîne de longueur double, contenant uniquement des chiffres hexadécimaux. Cela peut être utilisé pour échanger la valeur en toute sécurité dans le courrier électronique ou dans d'autres environnements non binaires.

Voici un exemple:

>>> import hashlib
>>> m = hashlib.md5()
>>> m.update("Nobody inspects")
>>> m.update(" the spammish repetition")
>>> m.digest()
'\xbbd\x9c\x83\xdd\x1e\xa5\xc9\xd9\xde\xc9\xa1\x8d\xf0\xff\xe9'
>>> m.hexdigest()
'bb649c83dd1ea5c9d9dec9a18df0ffe9'
>>> m.digest_size
16
>>> m.block_size
64

ou:

hashlib.md5("Nobody inspects the spammish repetition").hexdigest()
    'bb649c83dd1ea5c9d9dec9a18df0ffe9'