15.1 md5 --- Algorithme de condensé de message MD5

Ce module implémente l'interface avec l'algorithme de condensé de message MD5 (voir aussi Internet RFC 1321). Son utilisation est très simple : utilisez new() pour créer un objet MD5. Vous pouvez maintenant alimenter cet objet avec des chaînes de caractères arbitraires en utilisant la méthode update(), et à chaque instant vous pouvez demander le condensé (une forme améliorée de somme de contrôle de 128 bits, également connue sous le nom d'"empreinte digitale") de la concaténation des chaînes de caractères fournies jusque là avec la méthode digest().

Par exemple, pour obtenir le condensé de la chaîne de caractères 'Le vase où meurt cette verveine':

>>> import md5
>>> m = md5.new()
>>> m.update("Le vase où meurt")
>>> m.update(" cette verveine")
>>> m.digest()
'\216\234\346\227\306\200d\211Y&\273\016\366EA\350'

Plus concis :

>>> md5.new("Le vase où meurt cette verveine").digest()
'\216\234\346\227\306\200d\211Y&\273\016\366EA\350'

new([arg])
Retourne un nouvel objet md5. Si arg est présent, l'appel à la méthode update(arg) est effectué.

md5([arg])
Pour des raisons de compatibilité ascendante, ceci est un autre nom pour la fonction new().

Un objet md5 possède les méthodes suivantes :

md5update(arg)
Met à jour l'objet md5 avec la chaîne de caractères arg. Des appels répétés sont équivalents à un appel unique avec une concaténation de tous les arguments, c'est-à-dire que m.update(a); m.update(b) est équivalent à m.update(a+b).

md5digest()
Retourne le condensé des chaînes de caractères passées jusque là avec la méthode update(). Il s'agit d'une chaîne de caractères de 16 octets qui peut contenir des caractères non-ASCII, y compris des octets à zéro.

md5hexdigest()
Comme digest() sauf que le condensé est retourné sous forme d'une chaîne de longueur 32, ne contenant que des chiffres hexadécimaux. On peut utiliser cette méthode pour échanger cette valeur de façon sûre par e-mail ou dans d'autres environnements non binaires.

md5copy()
Retourne une copie (``clone'') de l'objet md5. Ceci peut être utilisé pour calculer les condensés de chaînes qui commencent par la même sous-chaîne.

Voir aussi:

Module sha:
Module similaire qui implémente le Secure Hash Algorithm (SHA). L'algorithme SHA est considéré comme plus sûr.