2016-06-15 20 views

Antwort

8

"ein optionales zweites Argument, das, falls wahr, einen kleineren Hash der Länge 16 anstelle des normalen 32 Zeichen langen Hashes zurückgibt."

Dies ist nicht wahr ist: Der zweite Parameter $raw_output gibt an, ob der Ausgang hexadecimal (hex) codiert oder in einem rohen binary Zeichenfolge sein sollte. Die Hash-Länge ändert sich nicht, sondern die Länge der codierten Zeichenfolge.

import hashlib 

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

Die erste sollte nur in Ihrem Code verwendet werden und nicht dem Benutzer präsentiert, da es nicht druckbare Zeichen enthalten. Deshalb sollten Sie immer die Funktion hexdigest verwenden, wenn Sie den Hash einem Benutzer präsentieren möchten.