15.2 sha --- Algorithme de condensé de message SHA

Ce module implémente l'interface vers l'algorithme sécurisé de hachage du NIST, connu sous le nom de SHA. On l'utilise de la même façon que le module md5 : utilisez new() pour créer un objet sha, puis alimentez cet objet avec des chaînes de caractères arbitraires en utilisant la méthode update(), et à chaque instant vous pouvez lui demander le condensé de la concaténation des chaînes de caractères fournies jusque là. Les condensés SHA sont longs de 160 bits, au lieu de 128 pour MD5.

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

Les valeurs suivantes sont fournies comme constantes dans le module et comme attributs des objets sha retournés par new():

blocksize
Taille des blocs fournis à la fonction de hachage ; vaut toujours 1. Cette taille est utilisée pour permettre le hachage d'une chaîne de caractères arbitraire

digestsize
La taille du condensé en octets. Vaut toujours 20.

Un objet sha a les mêmes méthodes que les objets md5 :

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

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

shahexdigest()
Comme digest() sauf que le condensé est retourné sous forme d'une chaîne de caractères de longueur 40, ne contenant que des chiffres hexadécimaux. Ceci peut être utilisé pour échanger des valeurs de façon sûre par e-mail ou dans d'autres environnements non binaires.

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

Voir aussi:

Secure Hash Standard
L'Algorithme Sécurisé de Hachage (Secure Hash Algorithm) est défini par le document du NIST FIPS PUB 180-1: Secure Hash Standard, publié en avril 1995. Il est disponible en ligne en texte simple (il manque au moins un diagramme), et au format PDF à l'adresse http://csrc.nist.gov/fips/fip180-1.pdf.