MySQL Daten verschlüsseln ?
Kris
- datenbank
Hi :)
Wie ich weiß - ist es möglich Daten in einer MySQL Tabelle zu verschlüsseln. Lege ich zum Beispiel eine Table an wo ich User und ihre Passwörter sharen lasse, dann will ich natürlich, dass das Passwort verschlüsselt in die Datenbank eintragen wird. Wie schaffe ich schaffe ich das und wir überprüfe ich dann das eingegeben Passwort (Variable) mit diesem Verschlüsselten ?
mfg
KRIS :)
hi,
Wie schaffe ich schaffe ich das und wir überprüfe ich dann das eingegeben Passwort (Variable) mit diesem Verschlüsselten ?
Natürlich indem du das eingegebene Passwort der gleichen Verschlüsselung unterziehst, bevor du beide vergleichst.
gruß,
wahsaga
Natürlich indem du das eingegebene Passwort der gleichen Verschlüsselung unterziehst, bevor du beide vergleichst.
nun gut das ist logisch ;)
Frage ist wie sich das auf die Methode bezieht die man nun anwendet :)
und die liegt mir ja immer noch nicht vor :q
du verschlüsselst das passwort mit md5() (falls du php verwendest, ansonsten mit dem entsprechenden Befehl für die Programmiersprache deiner Wahl) und schreibst es in die Datenbank.
Beim Vergleich vergleichst du die verschlüsselte eingabe mit dem verschlüsselten Datenbankeintrag.
Hi :)
Wie ich weiß - ist es möglich Daten in einer MySQL Tabelle zu verschlüsseln. Lege ich zum Beispiel eine Table an wo ich User und ihre Passwörter sharen lasse, dann will ich natürlich, dass das Passwort verschlüsselt in die Datenbank eintragen wird. Wie schaffe ich schaffe ich das und wir überprüfe ich dann das eingegeben Passwort (Variable) mit diesem Verschlüsselten ?
MySQL bietet encryption functions.
http://dev.mysql.com/doc/mysql/en/encryption-functions.html
zb: die Funktion PASSWORD()
Hilft dir das weiter?
mfg
Horst
MySQL bietet encryption functions.
http://dev.mysql.com/doc/mysql/en/encryption-functions.htmlzb: die Funktion PASSWORD()
Hilft dir das weiter?
Ja sehr sogar ... habe es nun gerafft :)
Frage die sich jedoch ergibt, ist ob man einstellen kann (per PHPmyAdmin z.B.), dass man automatisch eine Zeile (wie mit md5) codiert !
danke nochmals
KRIS !
Hi!
Frage die sich jedoch ergibt, ist ob man einstellen kann (per PHPmyAdmin z.B.), dass man automatisch eine Zeile (wie mit md5) codiert !
Wenn du einen neuen Datensatz in eine bestehende Tabelle einfügst, so gibt es ja die Oberpunkte „Feld“, „Typ“, „Funktion“, „Null“, „Wert“. Bei Funktion wählst du nun eben MD5() aus und gibst das Passwort im Feld „Wert“ ein. Dadurch wird das Passwort von MySQL als 32-stelliger MD5-Hash gespeichert.
Grüße,
Fabian St.
Wenn du einen neuen Datensatz in eine bestehende Tabelle einfügst, so gibt es ja die Oberpunkte „Feld“, „Typ“, „Funktion“, „Null“, „Wert“. Bei Funktion wählst du nun eben MD5() aus und gibst das Passwort im Feld „Wert“ ein. Dadurch wird das Passwort von MySQL als 32-stelliger MD5-Hash gespeichert.
Das war mir bis dahin klar :)
Meine Frage bezieht sich lediglich auf den Fakt ob es auch möglich ist wenn man nun eine Zeile einfügt per Kommando, ob es auch möglich ist das egal was ankommt die Datenbank automatisch diesen HASH Wert speichert, statt das was sie eigentlich gekriegt hat :)
echo $begrüßung;
Meine Frage bezieht sich lediglich auf den Fakt ob es auch möglich ist wenn man nun eine Zeile einfügt per Kommando, ob es auch möglich ist das egal was ankommt die Datenbank automatisch diesen HASH Wert speichert, statt das was sie eigentlich gekriegt hat :)
Nein, denn sie weiß ja nicht, ob das was sie bekommt schon einen Hash-Wert darstellt oder nicht.
Du wirst wohl oder übel INSERT... VALUES ..., MD5('bla'), ... verwenden müssen oder das die übergeordnete Programminstanz erledigen lassen.
Es gäbe da noch die Möglichkeit eines Triggers (erst ab MySQL 5.0.2) der bei einem Insert tätig wird. Doch auch dieser bzw. mit diesem kann man nicht herausfinden, ob die übergebene Zeichenkette bereits ein MD5-Wert ist oder nicht.
echo "$verabschiedung $name";
hi,
MySQL bietet encryption functions.
http://dev.mysql.com/doc/mysql/en/encryption-functions.htmlzb: die Funktion PASSWORD()
Hilft dir das weiter?
Nein, gerade PASSWORD() hilft ihm ganz bestimmt nicht weiter:
"Note: The PASSWORD() function is used by the authentication system in MySQL Server, you should NOT use it in your own applications."
gruß,
wahsaga
Nein, gerade PASSWORD() hilft ihm ganz bestimmt nicht weiter:
"Note: The PASSWORD() function is used by the authentication system in MySQL Server, you should NOT use it in your own applications."
Ups. Das hab ich noch gar nicht gelesen! Danke für den Hinweis!
mfg
Horst