Perl - Passwort crypten - decrypten
Guten Abend Community,
wie ihr wisst, schreibe ich zur Zeit ein größeres Perlskript.
Nun gut, im Moment stehen die Benutzer und Passwörter im Klartext in einer MSSQL. So, da wir hier aber ein paar (^^) Sicherheitsvorschriften haben, kann das so unmöglich in Produktivbetrieb gehen.
Also habe ich mir gedacht, Perl liefert in dieser Richtung bestimmt was mit. Ich habe mir mal das Modul "Blowfish" angesehen und ehrlich gesagt ist das einfach perfekt für diese Sache. Man braucht den richtigen Key, damit das verschlüsselte Passwort decyrpted wird!
Doch wie stelle ich das jetzt am Besten an?? Sprich ich habe ein schönes Beispiel gefunden. Auf dieser Seite gibt es unten eine kl. Demo. Ich habe eines unsere Testpasswörter dort eingeben und den ausgegebenen Keyin die DB eingetragen.
Dann habe ich folgende Zeilen in das Perlscript geschrieben:
Die restlichen Zeilen brauche ich doch eigentlich nicht, oder? Denn cypten fällt ja unter den Tisch, da das Passwort schon gecryptet in der DB steht.
Jedoch mekert er in dieser Konstellation => Fehlermeldung. In $ciphertext steht das verschlüsselte Passwort drin!
Kann mir von euch einer auf die Sprünge helfen?? Achja..das Perlscript läuft unter Redhat 5. Für andere Idee, etc....bin ich natürlich offen.
Schönen Sonntag Abend
Dani
wie ihr wisst, schreibe ich zur Zeit ein größeres Perlskript.
Nun gut, im Moment stehen die Benutzer und Passwörter im Klartext in einer MSSQL. So, da wir hier aber ein paar (^^) Sicherheitsvorschriften haben, kann das so unmöglich in Produktivbetrieb gehen.
Also habe ich mir gedacht, Perl liefert in dieser Richtung bestimmt was mit. Ich habe mir mal das Modul "Blowfish" angesehen und ehrlich gesagt ist das einfach perfekt für diese Sache. Man braucht den richtigen Key, damit das verschlüsselte Passwort decyrpted wird!
Doch wie stelle ich das jetzt am Besten an?? Sprich ich habe ein schönes Beispiel gefunden. Auf dieser Seite gibt es unten eine kl. Demo. Ich habe eines unsere Testpasswörter dort eingeben und den ausgegebenen Keyin die DB eingetragen.
Dann habe ich folgende Zeilen in das Perlscript geschrieben:
use Crypt::Blowfish;
my $key = pack("H16", "0123456789ABCDEF"); # min. 8 bytes
my $cipher = new Crypt::Blowfish $key;
my $plaintext = $cipher->decrypt($ciphertext);
Jedoch mekert er in dieser Konstellation => Fehlermeldung. In $ciphertext steht das verschlüsselte Passwort drin!
Kann mir von euch einer auf die Sprünge helfen?? Achja..das Perlscript läuft unter Redhat 5. Für andere Idee, etc....bin ich natürlich offen.
Schönen Sonntag Abend
Dani
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 67133
Url: https://administrator.de/forum/perl-passwort-crypten-decrypten-67133.html
Ausgedruckt am: 21.04.2025 um 20:04 Uhr
4 Kommentare
Neuester Kommentar
Hallo Dani!
Das muss an der fortgeschrittenen Stunde liegen, dass ich Deinen Ueberlegungen [ mit dem Perlscript] nicht folgen kann.
Das geht doch theoretisch auch so:
http://www.webcheatsheet.com/php/md5_encrypt_passwords.php
Das ist natuerlich nur MD5...
Eine andere Frage, die sich mir stellt ist, warum Du nicht ein "integrated security model" implementierst, da werden dann keine Passwoerter auf dem SQL Server abgelegt, sondern die Zugriffsverwaltung wird ueber einen extra Server abgewickelt.
Es scheint ja wohl so zu sein, dass Du eine uralt-Version von MS SQL im Einsatz hast, also vor v.4.2;
Die anderen Versionen, ab 6.0 verfuegen sehr wohl ueber eine pwdencrypt() function.
Siehe auch den Artikel von Neil Boyle zumThema:
http://www.databasejournal.com/features/mssql/article.php/1582981
bzw.
http://www.nextgenss.com/papers/cracking-sql-passwords.pdf
ueber Passwortsicherheit in MS SQL Databases.
saludos
gnarff
Das muss an der fortgeschrittenen Stunde liegen, dass ich Deinen Ueberlegungen [ mit dem Perlscript] nicht folgen kann.
Das geht doch theoretisch auch so:
http://www.webcheatsheet.com/php/md5_encrypt_passwords.php
Das ist natuerlich nur MD5...
Eine andere Frage, die sich mir stellt ist, warum Du nicht ein "integrated security model" implementierst, da werden dann keine Passwoerter auf dem SQL Server abgelegt, sondern die Zugriffsverwaltung wird ueber einen extra Server abgewickelt.
Es scheint ja wohl so zu sein, dass Du eine uralt-Version von MS SQL im Einsatz hast, also vor v.4.2;
Die anderen Versionen, ab 6.0 verfuegen sehr wohl ueber eine pwdencrypt() function.
Siehe auch den Artikel von Neil Boyle zumThema:
http://www.databasejournal.com/features/mssql/article.php/1582981
bzw.
http://www.nextgenss.com/papers/cracking-sql-passwords.pdf
ueber Passwortsicherheit in MS SQL Databases.
saludos
gnarff