2016-06-15 1 views

Répondre

8

"un deuxième argument optionnel qui, s'il est vrai, renvoie un plus petit hachage de longueur 16 au lieu du hachage long de 32 caractères."

Ceci est faux: le second paramètre $raw_output spécifie si la sortie doit être hexadecimal (hex) codée dans une chaîne ou binary brut. La longueur du hachage ne change pas mais plutôt la longueur de la chaîne codée.

import hashlib 

digest = hashlib.md5("asdf").digest() # 16 byte binary 
hexdigest = hashlib.md5("asdf").hexdigest() # 32 character hexadecimal 

Le premier ne doit être utilisé à l'intérieur de votre code et non présenté à l'utilisateur car il contient des caractères non imprimables. C'est pourquoi vous devriez toujours utiliser la fonction hexdigest si vous souhaitez présenter le hachage à un utilisateur.