![]() |
Passwort in Datenbank
Hi! Ich möchte folgenden String in eine Paradox-Datenbank schreiben:
#0#6'Ü3'#6'«Q)'#6'l'#$14'y'#$12'×/K' Dazu verwende ich eine TQuery-Komponente:
Delphi-Quellcode:
Leider wird mir das Passwort (siehe oben) nicht in den String geschrieben, und deshalb schlägt auch die SQL-Anweisung fehl. Was kann ich machen?
Query1.SQL.Add('INSERT INTO BENUTZER (Passwort) VALUES ('+Passwort+')');
|
Re: Passwort in Datenbank
Kein Problem Jungs, ich schreib das Pass hexadezimal in die DB
|
Re: Passwort in Datenbank
Passwort in die Datenbank schreiben? Ich habe nicht viel Ahnung von Datenbanken, aber wenn du es in die DB schreibst, kannst du es eigentlich auch gleich auf deiner Homepage veröffentlichen.
|
Re: Passwort in Datenbank
Wieso das? Ein verschlüsseltes Passwort in einer DB, ich seh kein Problem dabei, das macht phpBB z.B. auch.
|
Re: Passwort in Datenbank
phpBB schreibt es aber als MD5 Hash oder so rein.
|
Re: Passwort in Datenbank
Ja, ich schreib nicht ein unverschlüsseltes Passwort in die DB, dann würde der String ja nicht so wild aussehen. Ich hab mir aber einen eigenen Algorithmus geschrieben.
|
Re: Passwort in Datenbank
Hai alcaeus,
die große Frage ist ja: Warum wird der String nicht geschrieben? Hast Du es schon einmal mit einem Parameter versucht?
Delphi-Quellcode:
begin
Query1.Close; Query1.Clear; Query1.SQL.Text :='INSERT INTO BENUTZER (Passwort) VALUES (:passwort)'; Query1.ParamByName ('passwort').AsString := deinePasswortVariable; Query1.ExecSQL; end; |
Re: Passwort in Datenbank
Nö, diese Möglichkeit kannte ich noch nicht, aber jetzt habe ich die Verschlüsselung umgebaut und speichere den String Hexkodiert. Das Problem mit dem Alten String kenne ich auch nicht, ich habe keine Ahnung woher das kommt.
|
Re: Passwort in Datenbank
Mit QuotedStr() sollte es eigentlich gehen.
Gruß, teebee |
Re: Passwort in Datenbank
Das Problem mit dem alten String (#0#6'Ü3'#6'«Q)'#6'l'#$14'y'#$12'×/K') wird sein, das in diesem (gleich am Anfang) das Zeichen #0 vorkommt. Und dies ist für C/C++ das Endezeichen für einen String.
Und da du vermutlich über die BDE auf die Datenbank zugreifst und diese über ein DLL-Interface (mit PChar-Schnittstelle) angesprochen wird, kommt nichts an PChar(#0#6'Ü3'#6'«Q)'#6'l'#$14'y'#$12'×/K') = #0 (String mit Länge 0) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:47 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz