Portal > Foren > PHP > PHP-Programmierung > md5 und andere Verschlüsselungen
Antwort
 
Themen-Optionen Thema durchsuchen
Alt 10.03.2006, 23:15 Nach oben    #1
Leo
Neuer Benutzer
 
Registriert seit: 31.01.2006
Beiträge: 16
Standard md5 und andere Verschlüsselungen

wofür braucht man zbsp. md5?
Schon klar das es Verschlüsselt wird aber was nützt diese Funktion wenn ich es nicht entschlüsseln kann?
Ein Beispiel:
Passwörter in Datenbanken speichern un damit nicht direkt für Otto-Normal user es rausfindet auch entschlüsseln damit man sich einloggen kann!
Also wofür ist die jetzt da?
Oda gibt es andere Funktionen, die sowas erreichen?
Leo ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 10.03.2006, 23:21 Nach oben    #2
.
 
Registriert seit: 21.09.2005
Ort: CH-JP
Beiträge: 47
Standard

md5 verschlüsselt hauptsächlich passwörter. md5 erzeugt immer einen genau gleichen output wenn sich der String nicht unterscheidet.

Sprich du gibst dein Passwort ein das wird verschlüsselt und abgespeichert. Beim Login gibst Du dein Passwort ein das wird verschlüsselt, nun vergleichst du ob die beiden verschlüsselten passwörter genau gleich sind, wenn ja zugriff erlaubt. Sprich das Passwort ist nicht mehr rekonstruierbar. Falls ein User sein md5 Passwort verliert gibt es einzig und alleine die möglichkeit ein neues zu generieren. Anders wäre es da mit einer anderen verschlüsselung die kann man unter umständen entschlüsseln und das Passwort erneut zusenden.

verständlich?

edit:
du vermeidest damit auch probleme, von wegen gängige passwörter herausfinden was einem unerumständen unterstellt werden kann. Es erhöht die Sicherheit von Useraccoounts.
_root ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 10.03.2006, 23:24 Nach oben    #3
Johannes Schlichenmaier
 
Benutzerbild von Jojo
 
Registriert seit: 26.08.2005
Ort: Mannheim
Beiträge: 403
Standard

Also zuerst einmal:
md5 ist keine Verschlüsselung.
Eine Verschlüsselung ist wie der Name schon sagt eine Maskierung mittels eines Schlüssels. Das bedeutet aber auch, dass man einen verschlüsselten String wieder mittels des Schlüssels entschlüsseln kann.

md5 ist eigentlich dafür gedacht, von einer Zeichenkette einen sog. Hash-Wert zu bilden.
Das ist ein eindeutiger Wert, der je nach Zeichenkette unterschiedlich ist. Damit kann man z.B. nach dem Downloaden von Dateien feststellen, ob die Datei beim Runterladen beschädigt wurde, wenn man den original-Hash-Wert zur Verfügung hat.

md5() wird aber auch gerne bei Benutzerverwaltungen eingesetzt, weil er sich nur per Brute-Force "wiederherstellen" lässt.

Wenn du sowas realisieren willst, würde ich dir raten, das Klartextpasswort als md5()-Hash-Wert in der Datenbank zu speichern und dann beim Eingeben des Passwortes ebenfalls aus dem den md5-Wert zu bilden.
Dann hast du zwei Hash-Werte. Wenn sie übereinstimmen, hat der User das richtige Passwort eingegeben.

Grüße,
Jojo
__________________
In the beginning was the word
and the word was content-type: plain/text

heute code ich, morgen debug ich und uebermorgen cast ich die koenigin auf int
Jojo ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 11.03.2006, 00:31 Nach oben    #4
Leo
Neuer Benutzer
 
Registriert seit: 31.01.2006
Beiträge: 16
Standard re:

ah verstanden!!!!!
thx
Leo ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 11.03.2006, 00:43 Nach oben    #5
Ben
Benjamin Klaile
 
Benutzerbild von Ben
 
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.516
Standard

Hallo,
Zitat:
Zitat von Leo
Passwörter in Datenbanken speichern
hier möchte ich noch hinzufügen - weil das ja häufiger mal in diversen Foren gefragt wird -, dass man Passwörter, die mittels md5 "verschlüsselt" (wie nennt man das denn eigentlich richtig?) wurden, genau aus diesem Grund, weil es eben keine Verschlüsselung, sondern ein Hash ist, nicht wiederherstellen kann.

Wenn ein User also sein Passwort vergisst und ein Neues anfordert, dann kann nicht das eigentliche Passwort per Mail verschickt werden, sondern es muss ein zufälliges Passwort erstellt und an den Vergesslichen weitergeleitet werden.

Das nur noch als Ergänzung dazu, falls es da noch Missverständnispotential gab .

Zitat:
Zitat von Leo
gibt es andere Funktionen, die sowas erreichen?
Die Frage verstehe ich nicht so ganz. Was genau "erreichen"?
Es gibt z.B. crpyt(). Die Funktion verschlüsselt tatsächlich
Zitat:
crypt() einen String zurück, der unter Verwendung des Unix-Standard-Verschlüsselungsalgorithmus DES erstellt wurde.
.

Mit sha1() habe ich mich noch nie befasst. Sollte aber auch so etwas in der Art sein. (Achtung: Halbwissen!)

Grüße, Ben.
Ben ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 11.03.2006, 09:02 Nach oben    #6
Waq
Erfahrener Benutzer
 
Registriert seit: 18.08.2005
Beiträge: 108
Standard

Zitat:
Zitat von Ben
mittels md5 "verschlüsselt" (wie nennt man das denn eigentlich richtig?)
"gehasht"
Un-Denglisches Wort ist mir nicht bekannt.

Zitat:
Zitat von Ben
Es gibt z.B. crpyt(). Die Funktion verschlüsselt tatsächlich
Das ist freilich auch eine Einwegverschlüsselung und nicht wiederherstellbar, dank Salt aber immun gegen sowas wie md5-dictionarys, in denen man viele Passwörter direkt nachschlagen kann (weil md5 für das gleiche Passwort immer den gleichen Hash liefert).
Die von crypt verwendeten Algorithmen arbeiten zwar ähnlich wie hashes, sind aber auf die Verschlüsslung von Passwörtern optimiert und werden deswegen auch "Verschlüsselung" genannt.

Zitat:
Zitat von Ben
Mit sha1() habe ich mich noch nie befasst. Sollte aber auch so etwas in der Art sein. (Achtung: Halbwissen!)
sha1 = secure HASH algorithm 1
Gleiche Klasse wie md5(), nur besser.
Waq ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 11.03.2006, 12:34 Nach oben    #7
Erfahrener Benutzer
 
Registriert seit: 19.08.2005
Beiträge: 115
Standard

Zitat:
Zitat von Jojo
Das ist ein eindeutiger Wert, der je nach Zeichenkette unterschiedlich ist.
Nein. Ein md5-Hash ist nicht eindeutig, es kann auch zu sog. "kollisionen" kommen, d.h. zwei verschiedene strings haben den selben hash-wert. Es wäre ja auch garnicht möglich, für unendlich viele strings unendlich viele hash-werte zu generieren, wenn diese eine festgelegte länge haben müssen.
Solche kollisionen sind zwar extrem selten .... aber ich wollts nur der vollständigkeit mal erwähnt haben. Das du das sicherlich weißt ist mir auch klar.
__________________
Programming today is a race between software engineers striving to build bigger and better
idiot-proof programs, and the universe trying to build bigger and better idiots. So far, the
universe is winning.
Buhmann ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 11.03.2006, 13:11 Nach oben    #8
Ben
Benjamin Klaile
 
Benutzerbild von Ben
 
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.516
Standard

@Waq:
Ui. Danke für die Informationen.
Ben ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 11.03.2006, 14:46 Nach oben    #9
Johannes Schlichenmaier
 
Benutzerbild von Jojo
 
Registriert seit: 26.08.2005
Ort: Mannheim
Beiträge: 403
Standard

@Buhmann
hasse räschd
__________________
In the beginning was the word
and the word was content-type: plain/text

heute code ich, morgen debug ich und uebermorgen cast ich die koenigin auf int
Jojo ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
PingBacks sind an
RefBacks sind aus

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Sicherheit der Passworteingabe und md5() WarrenFaith PHP-Programmierung 79 24.08.2006 18:39
$_GET Übergabe mit md5() prüfen ex³ PHP-Programmierung 5 15.12.2005 08:53
Java Web Start am82 Allgemeine Java-Programmierung 3 12.12.2005 10:01
md5 am82 Allgemeine Java-Programmierung 4 09.12.2005 08:29


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:06 Uhr.


Powered by vBulletin® Version 3.7.4 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45