LC.crypt.*

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)
Parameter
  • input (String) – Eingabe-String (z.B. Passwort)

Rückgabe

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)
Parameter
  • input (String) – Eingabe-String (z.B. Passwort)

Rückgabe

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)
Parameter
  • input (String) – Eingabe-String (z.B. Passwort)

Rückgabe

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

Zuletzt aktualisiert am 29.06.2020.
weiter: LC.exec.*
zurück: Lua-API