Dieses Modul stellt verschiedene Verschlüsselungsfunktionen bereit, hauptsächlich für das Hashing bzw. die Verschlüsselung von Passwörtern.
LC.crypt.
cram_md5
(input)¶
input (String) – Eingabe-String (z.B. Passwort)
Vor-gehashter CRAM-MD5-String
Diese Funktion bereitet einen CRAM-MD5-Hash vor. Hauptanwendung hierfür sind POP3/IMAP-Server, welche eine Anmeldung im Klartext (LOGIN/PLAIN) sowie mit dem minimal sichereren CRAM-MD5-Verfahren erlauben, ohne dabei die Passwörter im Klartext auf dem Server speichern zu müssen.
Diese Funktion bereitet lediglich eine Hash-Struktur vor, das eigentliche Hashing wird nicht ausgeführt. Das bedeutet, dass die Ausgabedaten von cram_md5()
relativ einfach auch wieder entschlüsselt werden können.
LC.crypt.
crypt
(input)¶
input (String) – Eingabe-String (z.B. Passwort)
gehashter String
Diese Funktion erzeugt mittels DES-Algorithmus einen crypt()
-kompatiblen Hash des übergebenen Parameters. Dieses Format kann z.B. in typischen Passwort-Dateien (/etc/passwd
) verwendet werden. Diese Hash-Methode ist nicht sicher (kann relativ einfach entschlüsselt werden).
LC.crypt.
crypt_md5
(input)¶
input (String) – Eingabe-String (z.B. Passwort)
gehashter String
Diese Funktion erzeugt ein 8 Zeichen langes „Salt“ und berechnet aus diesem sowie dem übergebenen Passwort einen MD5-Hash. Dieses Format kann z.B. in moderneren Passwort-Dateien verwendet werden. Auch MD5-Hashes können relativ einfach geknackt werden, diese Methode ist also auch nicht besonders sicher.
Examples
pw = LC.crypt.cram_md5("test")
-- result: e02d374fde0dc75a17a557039a3a5338c7743304777dccd376f332bee68d2cf6
pw = LC.crypt.crypt("test")
-- result: e.g. SALwWlL5CAfNE
pw = LC.crypt.crypt_md5("test")
-- result: e.g. $1$u5OJQYF3$jG4Q5xqQd1tE10d27XgC40