Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

MySQL Password Funktion - Hash-Werte verlängern

Frage Entwicklung Datenbanken

Mitglied: sundrew

sundrew (Level 1) - Jetzt verbinden

06.04.2010, aktualisiert 11:06 Uhr, 4652 Aufrufe, 3 Kommentare

Hallo liebe Community!

Ich habe einen Dump einer DB von einem MySQL Server 4.0 auf einem MySQL Server 5.1 einspielen müssen.

In besagter Datenbank wurde eine Spalte "User_Pwd" mit der MySQL PASSWORD() Funktion befüllt, sprich es stehen lauter Hashwerte in dieser Spalte.

Nun gibt es zu dieser DB auch eine Webanwendung, die sehr oft Abfragen ausführt alà "SELECT * FROM ... WHERE ... AND User_Pwd = PASSWORD('meinpasswort')" - das funktioniert ja leider nicht, denn die PASSWORD() Funktion in MySQL 5.1 liefert 41 Byte lange Hashwerte - und in der Tabelle stehen nur 16 Byte lange Werte. Der Vergleich schlägt also fehl.

Wie kann ich nun einen Vergleich durchführen OHNE die Hashwerte in der Spalte anrühren zu müssen?!

Vielen Dank für jeden Tipp!
Mitglied: matze2010
06.04.2010 um 11:25 Uhr
Hallo sundrew,

lies dir mal folgendes durch:
http://dev.mysql.com/doc/refman/5.1/de/password-hashing.html

insbesondere den Teil
"Die Spalte Password muss breit genug sein, um lange Hashes (41 Bytes) aufzunehmen. Wenn die Spalte nicht aktualisiert wurde und noch die Breite von 16 Bytes hat, stellt der Server fest, dass lange Hashes nicht in die Spalte passen. Insofern werden nur kurze Hashes erzeugt, wenn ein Client passwortändernde Operationen mit PASSWORD(), GRANT oder SET PASSWORD durchführt. Dieses Verhalten tritt auf, wenn Sie auf Version 4.1 aktualisiert, aber das Skript mysql_fix_privilege_tables zur Verbreiterung der Spalte Password noch nicht ausgeführt haben. "

evtl. hilft dir das weiter, wenn du die Spalte der Passwort auf 16 begrenzt.

Lg
Matze
Bitte warten ..
Mitglied: sundrew
06.04.2010 um 11:52 Uhr
Hi Matze,

danke für deine Antwort.

Die Seite habe ich schon relativ ausführlich gelesen. Meine Spaltenlänge ist >16 Bytes, das ist ein ganz normales varchar-Feld mit Länge 50.

Ich habe es schon mit der auf der Seite beschriebenen OLD_PASSWORD('meinPasswort') Variante versucht - das wird zwar ausgeführt und es steht anschließend ein kurzer Hashwert in der Tabelle, jedoch klappt der Vergleich im Skript nach wie vor nicht... (Also die Abfrage WHERE User_Pwd = PASSWORD('meinpasswort'))
Bitte warten ..
Mitglied: sundrew
06.04.2010 um 11:59 Uhr
Jetzt antworte ich mir mal selber - es liegt im Detail begraben :
Abfrage im Skript muss nun natürlich "...WHERE User_Pwd = OLD_PASSWORD('meinpasswort')" lauten.

Dann müsste ich das nur im Skript überall ändern (lassen) und nach jeder Useranlage oder Passwort-Änderung ein OLD_PASSWORT durchführen.
Bitte warten ..
Ähnliche Inhalte
Sicherheits-Tools
gelöst Hash-Wert fest in Audiodatei schreiben (4)

Frage von Hamoe2 zum Thema Sicherheits-Tools ...

Datenbanken
gelöst MYSQL Abfrage Werte summieren (3)

Frage von Ghost108 zum Thema Datenbanken ...

Microsoft
Password management (3)

Frage von TECHGENE zum Thema Microsoft ...

SAN, NAS, DAS
Synology weigert password (5)

Frage von AtoAto zum Thema SAN, NAS, DAS ...

Neue Wissensbeiträge
Ubuntu

Ubuntu 17.10 steht zum Download bereit

(3)

Information von Frank zum Thema Ubuntu ...

Datenschutz

Autofahrer-Pranger - Bewertungsportal illegal

(8)

Information von BassFishFox zum Thema Datenschutz ...

Windows 10

Neues Win10 Funktionsupdate verbuggt RemoteApp

(8)

Information von thomasreischer zum Thema Windows 10 ...

Microsoft

Die neuen RSAT-Tools für Win10 1709 sind da

(2)

Information von DerWoWusste zum Thema Microsoft ...

Heiß diskutierte Inhalte
Router & Routing
Allnet - VDSL2 Modem - SFP (mini-GBIC) (20)

Frage von Dobby zum Thema Router & Routing ...

Monitoring
Netzwerk-Monitoring Software (18)

Frage von Ghost108 zum Thema Monitoring ...

Windows 10
Seekrank bei Windows 10 (17)

Frage von zauberer123 zum Thema Windows 10 ...

Windows Server
gelöst Kopiervorgang schlägt fehl, weil Datei- und Ordnername zu lang sind (14)

Frage von Schroedi zum Thema Windows Server ...