Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden.
Du solltest ein Upgrade durchführen oder einen alternativen Browser verwenden.
Du solltest ein Upgrade durchführen oder einen alternativen Browser verwenden.
PHP Verschlüsselungen in PHP
- Ersteller pp3345
- Erstellt am
S
Straßdörfler
Gast
ähm nur mal so md5 ist kanckbar, und das iast auch nicht wirklich schwierig.
z.b. http://www.elcomsoft.de/edpr.html
z.b. http://www.elcomsoft.de/edpr.html
1
1668mib
Gast
Also wenn du Passwörter verschlüsselt speichern willst, dann musst du sie ja gar nicht entschlüsseln können.
Bei der Prüfung ob ein Passwort korrekt eingegeben wurde, verschlüsselst du einfach das Passwort ebenfalls auf die selbe weise, und vergleichst die verschlüsselten Zeichenfolgen miteinander - gleiches Passwort bedeutet selber Hash, verschiedene Passwörter verschiedene Hashs (theoretisch können auch verschiedene Passwörter zum selben Hash führen, aber die Wahrscheinlichkeit geht gegen 0...)
@Straßdörfler: Ok, dann erklär uns doch mal wie du MD5 knackst. Bin neugierig, man lernt ja nie aus.
Und "e8636ea013e682faf61f56ce1cb1ab5c" wollte das Programm auch nicht entschlüsseln, aber vielleicht bin ich auch nicht fähig genug, es kam zumindest der Hinweis dass weitere Informationen fehlen würden...
Bei der Prüfung ob ein Passwort korrekt eingegeben wurde, verschlüsselst du einfach das Passwort ebenfalls auf die selbe weise, und vergleichst die verschlüsselten Zeichenfolgen miteinander - gleiches Passwort bedeutet selber Hash, verschiedene Passwörter verschiedene Hashs (theoretisch können auch verschiedene Passwörter zum selben Hash führen, aber die Wahrscheinlichkeit geht gegen 0...)
@Straßdörfler: Ok, dann erklär uns doch mal wie du MD5 knackst. Bin neugierig, man lernt ja nie aus.
Interessant dass bei einigen Dingen "guaranteed decryption" steht, bei MD5 allerdings nicht...MD5 Hashes (Klartext Rettung) (GPU Beschleunigung!)
Und "e8636ea013e682faf61f56ce1cb1ab5c" wollte das Programm auch nicht entschlüsseln, aber vielleicht bin ich auch nicht fähig genug, es kam zumindest der Hinweis dass weitere Informationen fehlen würden...
Zuletzt bearbeitet:
RAMMSTEiN0815
Banned
- Registriert
- Apr. 2006
- Beiträge
- 2.207
im prinzip kann man alles was verschlüsselt wird auch wieder entschlüsseln, ist halt nur ne frage der zeit
zum verschlüsseln nimmt man in der regel einen schlüssel, mit dem man dann das verschlüsselte wieder entschlüsseln kann...
zum verschlüsseln nimmt man in der regel einen schlüssel, mit dem man dann das verschlüsselte wieder entschlüsseln kann...
Zuletzt bearbeitet:
abac6dcc5c015d207a21512a783936ca
dann mach dich mal dran.
unter 'entschlüsseln' versteht man einen algorithmus der aus dem verschlüsseltem wieder klartext macht und nicht einfaches bruteforcen.
mit bruteforce kann man alles knacken.
kommt nur drauf an ob wie lange du warten kannst bzw wann du stirbst.
es gab gerüchte um einen russischen(!?) mathematiker dem es angeblich gelungen sein soll md5 zu knacken.
@pp3345 wie 1668mib schon gesagt hat. wenn du passwörter in deiner datenbank speicherst und dann beim login natürlich überprüfen willst ob das auch das richtige password ist machst du es wie folgt:
beim registrieren gibt der user das password 'XY' ein.
du md5-hashst dann 'XY' und speicherst es in der datenbank.
beim login guckst du dann ob der md5 hash des eingegebenen passwords zu dem md5 hash in der datenbank passt
dann mach dich mal dran.
unter 'entschlüsseln' versteht man einen algorithmus der aus dem verschlüsseltem wieder klartext macht und nicht einfaches bruteforcen.
mit bruteforce kann man alles knacken.
kommt nur drauf an ob wie lange du warten kannst bzw wann du stirbst.
es gab gerüchte um einen russischen(!?) mathematiker dem es angeblich gelungen sein soll md5 zu knacken.
@pp3345 wie 1668mib schon gesagt hat. wenn du passwörter in deiner datenbank speicherst und dann beim login natürlich überprüfen willst ob das auch das richtige password ist machst du es wie folgt:
beim registrieren gibt der user das password 'XY' ein.
du md5-hashst dann 'XY' und speicherst es in der datenbank.
beim login guckst du dann ob der md5 hash des eingegebenen passwords zu dem md5 hash in der datenbank passt
C
claW.
Gast
md5 verschlüsselt nicht es hasht! aes, des und konsorten gehören zu verschlüsselung, nicht md*, sha*, ripemd-*, whirlpool oder sonstige!
eine verschlüsselung kann man immer entschlüsseln. bei einem hash kann man nur durch versuche den richtigen wert herausbekommen, was überhaupt gar nix mit entschlüsseln, sondern simplen raten zu tun hat.
eine verschlüsselung kann man immer entschlüsseln. bei einem hash kann man nur durch versuche den richtigen wert herausbekommen, was überhaupt gar nix mit entschlüsseln, sondern simplen raten zu tun hat.
Um mal zurück zum Thema zu kommen. Das MD5 hasht und nicht verschlüsselt, dürfte mittlerweile erörtert sein. Um aber deine Frage zu beantworten, wie man mit PHP verschlüsselt, reicht ein Blick in die deutsche, sehr übersichtliche und jedermann einsehbare Dokumentation.
S
Straßdörfler
Gast
- Registriert
- Okt. 2005
- Beiträge
- 3.114
Noch ein Mal ein abschließendes Statement zu MD5: "Knackbar" in dem Sinne ist es nicht. Das würde nämlich bedeuten, dass man die Zeichenfolge oder Zahl, die als Ausgangsbasis für den Hash diente, wiedererlangen könnte. Das ist allerdings nicht möglich, weil ein Hash (Prüfsumme) eine feste Länge hat und nicht zur Verschlüsselung dient. Im Falle MD5 ist der Hash immer 128 Bit (korrigiert) lang, egal ob die Eingabe "0" oder ein ganzer Wikipedia-Artikel war.
Die einzig mögliche Schwachstelle bei Hashes ist, eine alternative Ausgangsbasis -- also ein anderes Wort -- zu finden, die/das zum gleichen Hash führt. Da es aber 2^128 (korrigiert) mögliche Hashes (von 00..00 bis ff..ff) gibt, ist das nahezu ausgeschlossen und erfordert sehr viel Rechenpower.
Um zu vermeiden, dass es Crackern möglich ist, eine passende Zeichenkette zu finden, baut man in seine Hashes normalerweise auch noch Token ein, die z.B. den Hash der User-ID enthalten.
Heißt: Man bildet nicht einfach den Hash des Passworts, sondern verknüpft es sowohl bei der Erstellung des Hashes als auch beim Vergleich während des Logins mit einer weiteren Kenngröße, die die User-ID, das Geburtsdatum oder sonstwas sein könnte. Wichtig ist nur, dass man ohne den PHP-Code zu kennen nicht einfach auf die verwendete Methode kommt.
Ich hoffe, dass ich dir mit dem Theorie-Geschwafel ein bisschen Licht ins Dunkel gebracht habe
.
Entschlüsselbare Algorithmen sind AES, DES usw.. Beim Speichern von Passwörtern sollte man u.U. über asymmetrische Verschlüsselungen nachdenken, damit nur der User in der Lage ist, das eigene Passwort auch wieder zu entschlüsseln. Ich empfehle mal Wikipedia als Einstiegslektüre
.
Die einzig mögliche Schwachstelle bei Hashes ist, eine alternative Ausgangsbasis -- also ein anderes Wort -- zu finden, die/das zum gleichen Hash führt. Da es aber 2^128 (korrigiert) mögliche Hashes (von 00..00 bis ff..ff) gibt, ist das nahezu ausgeschlossen und erfordert sehr viel Rechenpower.
Um zu vermeiden, dass es Crackern möglich ist, eine passende Zeichenkette zu finden, baut man in seine Hashes normalerweise auch noch Token ein, die z.B. den Hash der User-ID enthalten.
Heißt: Man bildet nicht einfach den Hash des Passworts, sondern verknüpft es sowohl bei der Erstellung des Hashes als auch beim Vergleich während des Logins mit einer weiteren Kenngröße, die die User-ID, das Geburtsdatum oder sonstwas sein könnte. Wichtig ist nur, dass man ohne den PHP-Code zu kennen nicht einfach auf die verwendete Methode kommt.
Ich hoffe, dass ich dir mit dem Theorie-Geschwafel ein bisschen Licht ins Dunkel gebracht habe
Entschlüsselbare Algorithmen sind AES, DES usw.. Beim Speichern von Passwörtern sollte man u.U. über asymmetrische Verschlüsselungen nachdenken, damit nur der User in der Lage ist, das eigene Passwort auch wieder zu entschlüsseln. Ich empfehle mal Wikipedia als Einstiegslektüre
Zuletzt bearbeitet:
XunnD
Lieutenant
- Registriert
- März 2006
- Beiträge
- 728
MD5 besitzt 128 Bit, nicht 256 und damit fällt auch schonmal die Anzahl der möglichen Kombinationen aus: es sind nämlich "nur" 2^128 und das ist 2^128 mal weniger als 2^256 - erstaunlich, was?
Es gibt neuerdings einen CB-Artikel zum Thema wie Grafikkarten zur schnelleren Kollisionsfindung von Hashalgorithmen MD5 beitragen können. Sehr interessant.
Es gibt neuerdings einen CB-Artikel zum Thema wie Grafikkarten zur schnelleren Kollisionsfindung von Hashalgorithmen MD5 beitragen können. Sehr interessant.
C
claW.
Gast
wenn nicht, kann man auch sha512 verwenden.Benj schrieb:sicher genug
Passt nicht mehr wirklich zum Thema, aber zu Hashes fallen mir im gleichen Atemzug Rainbow Tables ein. Davon gibt es inzwischen jede Menge im Netz (auch zum Herunterladen). Der von dir angegebene Hash kann z.b. von der Zeichenkette "geheim" gebildet werden. Versuch macht kluch. Wie das ganze funktioniert und wie man dagegen ankämpfen kann, findet man im Netz - z.B. Stichwort Salted Hash.1668mib schrieb:...Und "e8636ea013e682faf61f56ce1cb1ab5c" wollte das Programm auch nicht entschlüsseln...
Es bleibt dennoch dabei: für eine ordentliche Ver- und Entschlüsselung sind Hashes nicht geeignet.
michi12
Banned
- Registriert
- März 2008
- Beiträge
- 1.030
Noch eine kleine anmerkung meinerseits:
Verwendet doch die MD5-Funktion doppelt:
Damit hat Brutforce keine Chance mehr, da es nun 2^128^128 (richtig? auf jedenfall unglaublich viele) möglichkeiten gibt.
Bis das "geknackt" (oder besser gesagt mit Bruteforce erraten) ist (mit heutigen Rechnern incl. 4 GTX280) haben wir das Jahr 3000
Verwendet doch die MD5-Funktion doppelt:
PHP:
<?php
$passwort = 'meinpasswort';
$passworthash = md5(md5($passwort));
?>
Damit hat Brutforce keine Chance mehr, da es nun 2^128^128 (richtig? auf jedenfall unglaublich viele) möglichkeiten gibt.
Bis das "geknackt" (oder besser gesagt mit Bruteforce erraten) ist (mit heutigen Rechnern incl. 4 GTX280) haben wir das Jahr 3000
C
claW.
Gast
doppeltes hashen oder verschlüsseln hat genau 0 wirkung auf die sicherheit.
michi12
Banned
- Registriert
- März 2008
- Beiträge
- 1.030
claW. schrieb:doppeltes hashen oder verschlüsseln hat genau 0 wirkung auf die sicherheit.
Und wieso ?
Bruteforce braucht dann doppelt so lange:
1.) Muss es den ersten Hash herausfinden
2.) Muss es das Wort, welches den ersten Hash ergibt, herausfinden.
Das ist der doppelte Zeitaufwand, wie wenn es "nur" den 2.) Schritt machen muss.
Außerdem wird die entschlüsselung über die genannten Rainbow Tables (siehe Gobble-G) unmöglich, da die nur einfach gehashte Standard-Passwörter beinhalten.
Zuletzt bearbeitet:
Ähnliche Themen
- Antworten
- 72
- Aufrufe
- 6.827
- Antworten
- 44
- Aufrufe
- 3.686
- Frage
- Antworten
- 25
- Aufrufe
- 2.329