2017-01-27 4 views
0

Wie implementiert man die Crypt-Option in Python 3?Python Verwendung der Crypt-Funktion

Ich verstehe, dass die Verwendung ist:

Hash = crypt.crypt(password, salt) 

jedoch die Funktion eine Reihe von verschiedenen Hashing-Funktionen. Aus der Dokumentation:

crypt.METHOD_SHA512 A Modular Crypt Format-Methode mit 16 Zeichen Salz und 86 Zeichen Hash. Dies ist die stärkste Methode.

crypt.METHOD_SHA256 Eine weitere Modular Crypt Format-Methode mit 16 Zeichen Salz und 43 Zeichen Hash.

crypt.METHOD_MD5 Eine weitere Modular Crypt Format-Methode mit 8 Zeichen salt und 22 Zeichen Hash.

crypt.METHOD_CRYPT Die traditionelle Methode mit einem 2 Zeichen Salz und 13 Zeichen von Hash. Dies ist die schwächste Methode.

Wieder ist meine Frage, wie wähle ich, welchen Algorithmus die Funktion verwendet?

Dies ist eine sehr grundlegende Frage Ich kann nicht glauben, dass ich die Antwort nicht selbst gefunden habe - ich entschuldige mich, wenn ich Ihre Zeit verschwende.

Antwort

1

Sie übergeben die Methode als das Salz Argument. Von den crypt function docstring:

Wenn salt nicht angegeben oder ist None, wird die stärkste verfügbare Methode ausgewählt werden und ein Salz erzeugt. Andernfalls kann salt einer der crypt.METHOD_* Werte oder eine Zeichenfolge wie von crypt.mksalt() zurückgegeben werden.

Zum Beispiel:

crypt.crypt("password", crypt.METHOD_SHA512) 

, die unter der Haube wird:

crypt.crypt("password", crypt.mksalt(crypt.METHOD_SHA512)) 
+0

Dank! Aber kann ich den Prozess angeben? Das ist, könnte ich SHA512 verwenden, aber mein eigenes Salz zur Verfügung stellen? – Tikhon

Verwandte Themen