"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.