Entwickler-Ecke
Algorithmen, Optimierung und Assembler - Entschlüsseln mit MD5
rolandt4088 - Mo 11.05.09 18:16
Titel: Entschlüsseln mit MD5
Hallo,
folgende Procedure benutze ich um ein Passwort zu verschlüsseln.
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19:
| procedure Tf_scy.JvXPButton1Click(Sender: TObject); var MD5: TDCP_md5; Digest: array [0..15] of Byte; Reslt: String; Index: Integer; begin MD5 := TDCP_md5.Create(Self); MD5.Init; MD5.UpdateStr(e_passwort.Text); MD5.Final(Digest); MD5.Free; Reslt := ''; for Index := 0 to 15 do Reslt := Reslt + IntToHex(Digest[Index], 2); edit1.Text := reslt; end; |
Wie bekomme ich nun die Verschlüsselung wieder entschlüsselt?
Für einen Tipp bin ich sehr dankbar
Xentar - Mo 11.05.09 18:20
MD5 ist keine Verschlüsselung..
MD5 bildet einen Hashwert von einer Datei, um z.B. beim Empfänger zu vergleichen, dass die Datei korrekt angekommen ist. Diesen KANNST du nicht wieder "entschlüsseln".
rolandt4088 - Mo 11.05.09 18:23
Vielen Dank für Deine schnelle Antwort.
Ich dacht ich könnte damit Passwörter unkenntlich machen.
Gibt es denn etwas womit man z.B. Passwörter kodieren kann?
mfg
Xentar - Mo 11.05.09 18:26
Ja, für Passwörter verwendet man das auch.
Du bildest einen MD5 Hash von einem Passwort, und speichert diesen Hash. Bei der Eingabe vergleichst du den Hash von dem eingegebenen Passwort, mit dem gespeicherten Hash. Somit hast du das "Passwort" zwar gespeichert, aber mann es nicht (bzw. nur seeehr schwer) auf das richtige Klartext Passwort zurückrechnen.
Das ganze ist wesentlich sicherer, als wenn du das Passwort selber abspeicherst.
rolandt4088 - Mo 11.05.09 18:30
Vielen Dank für die Hilfe und dem Denkanstoß
mfg
BenBE - Di 12.05.09 08:53
Ich fass den aktuellen Stand bzgl. Hashverfahren einmal zusammen:
SHA1 ist angeknackt, MD5 gebrochen und CRC32 in der Versenkung ;-)
Und die netten bunten Tabellen (Rainbow Tables) auch nicht vergessen ...
Verwende bitte ausschließlich Salted Hashs für deine Anwendungen. MD5 bitte komplett meiden (allein für Legacy-Anwendungen), Neuentwicklungen sollten SHA256/512 oder Whirlpool verwenden (Die RIPE hat auch ein paar nette Algos, da hab ich aber keine Papers zu deren Sicherheit verfügbar).
Xearox - Mo 01.02.10 13:39
Wo bekommt man den Code den zur verschlüssellung von SHA 512 her?
um es im Programm zu implementieren?
Edit: Oops...sehe grade, dass das Thema, nun ja, schon was älter ist...lol
acnut - Mo 01.02.10 15:27
Hier
[url]
http://www.example-code.com/delphi/crypt_hash_algorithms.asp
[/url]
____________________
Zitat: |
Verwende bitte ausschließlich Salted Hashs für deine Anwendungen. MD5 bitte komplett meiden (allein für Legacy-Anwendungen), Neuentwicklungen sollten SHA256/512 oder Whirlpool verwenden (Die RIPE hat auch ein paar nette Algos, da hab ich aber keine Papers zu deren Sicherheit verfügbar).
|
warum md5 meiden?
mfg
JüTho - Mo 01.02.10 16:26
Frage:
acnut hat folgendes geschrieben : |
warum md5 meiden? |
Antwort:
BenBE hat folgendes geschrieben : |
SHA1 ist angeknackt, MD5 gebrochen und CRC32 in der Versenkung ;-) |
Jürgen
Tobi482 - Mo 01.02.10 17:43
Hi,
ich habe zwar nicht soviel Ahnung welche Funktion wann und wo bereits durch Rainbow-Tables gecrackt worden ist, jedoch gibt es bestimmt noch viele andere
Einwegfunktionen (also Funktionen die "schwer" umkehrbar sind) für die es noch keine Rainbow-Tables gibt.
Vielleicht Hilft dir die Idee des Salted-Hash weiter.
http://de.wikipedia.org/wiki/Salted_Hash
Ahh sorry habe überlesen, das BenBE das bereits geschrieben hatte.
Dann vergiss was ich gesagt habe^^
Mit freundlichen Grüßen
Tobi
Xearox - Mo 01.02.10 18:01
acnut hat folgendes geschrieben : |
Hier
[url]
http://www.example-code.com/delphi/crypt_hash_algorithms.asp
[/url]
____________________
Zitat: |
Verwende bitte ausschließlich Salted Hashs für deine Anwendungen. MD5 bitte komplett meiden (allein für Legacy-Anwendungen), Neuentwicklungen sollten SHA256/512 oder Whirlpool verwenden (Die RIPE hat auch ein paar nette Algos, da hab ich aber keine Papers zu deren Sicherheit verfügbar).
|
warum md5 meiden?
mfg |
hab die beiden sachen schon vorher im Net gefunden, aber verstehe NULL davon
Xearox - Mo 01.02.10 18:10
in der Zip, die man beim Post von BenBE downloaden kann, da ist die SHA512 fehlerhaft.
kann da jemand mal nach schauen?
Jakob_Ullmann - Mo 01.02.10 18:24
Schau doch einfach hier, kann man direkt so abschreiben (auch wenn da nur SHA-256 und nicht SHA-512 beschrieben ist):
http://en.wikipedia.org/wiki/SHA_hash_functions
EDIT: Warum erzeugt man nicht für die Salted Hashes Rainbow-Tables? Sollte doch in linearer Zeit schaffbar sein. :wink:
Xearox - Mo 01.02.10 18:36
ich habe null ahnung davon...ich brauche aber eine gute verschlüsselung...
deswegen wollte ich doch nur wissen, was in der zip bei SHA512 falsch ist....
BenBE - Mo 01.02.10 18:46
Die Art, wie Du's in deinem Source nutzt. Aber das gehört in einen anderen Thread.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!