[MySQL 5.1] Problem mit verschlüsselten Passwörtern
Yadgar (mal wieder Sumpfzigeuner)
- datenbank
High!
Meine Bibliotheks-Datenbank enthält eine Tabelle für Benutzeraccounts, mit einem Feld "Passwort", VARCHAR(20). Leider akzeptiert der Server dort Einträge nur, wenn sie unverschlüsselt sind - sobald ich "ENCRYPT" als Funktion hinzufüge, bekomme ich die Fehlermeldung
Warning: #1048 Column 'Passwort' cannot be null
Wieso wird ein Passwort durch Verschlüsselung null? Unter MySQL 4.0 hatte ich das Problem nicht... muss bei den Konfigurationseinstellungen der Datenbank etwas geändert werden? Oder ist ENCRYPT bei VARCHAR-Feldern unter MySQL 5.0 grundsätzlich nicht möglich?
Bis bald im Khyberspace!
Yadgar
Hi,
Meine Bibliotheks-Datenbank enthält eine Tabelle für Benutzeraccounts, mit einem Feld "Passwort", VARCHAR(20). Leider akzeptiert der Server dort Einträge nur, wenn sie unverschlüsselt sind - sobald ich "ENCRYPT" als Funktion hinzufüge,
Wieso nutzt du überhaupt ENCRYPT? Das verwendet das auf dem System implementierte crypt, und verwendet damit im Normalfall nur die ersten Acht Zeichen - wenn die Benutzer also "bessere" Passwörter wählen, torpedierst du das damit.
bekomme ich die Fehlermeldung
Warning: #1048 Column 'Passwort' cannot be null
Wieso wird ein Passwort durch Verschlüsselung null? Unter MySQL 4.0 hatte ich das Problem nicht... muss bei den Konfigurationseinstellungen der Datenbank etwas geändert werden? Oder ist ENCRYPT bei VARCHAR-Feldern unter MySQL 5.0 grundsätzlich nicht möglich?
Hinweise im Manual beachtet?
http://dev.mysql.com/doc/refman/5.1/en/encryption-functions.html#function_encrypt
MfG ChrisB
High!
Hinweise im Manual beachtet?
http://dev.mysql.com/doc/refman/5.1/en/encryption-functions.html#function_encrypt
Habe ich mir angesehen... mit DES_ENCRYPT bekomme ich die Fehlermeldung
Warning: #1366 Incorrect string value: '\x80,\xE9V\x11\xCE...' for column 'Passwort' at row 1
...dann habe ich es mit BLOB als Datentyp versucht, da bekomme ich den Hinweis "Nicht editierbar"... und VARBINARY wirft auch eine Fehlermeldung:
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'NOT NULL' at line 1
Darf eine VARBINARY nicht NOT NULL sein?
Auch bei manueller Eingabe (ich benutze PHPMyAdmin) des ALTER-Befehls ohne NOT NULL:
ALTER TABLE benutzerkonten
CHANGE Passwort
Passwort
VARBINARY
bekomme ich eine Fehlermeldung:
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
Langsam blicke ich überhaupt nicht mehr durch...
Bis bald im Khyberspace!
Yadgar