![]() |
AW: Mit LockBox10 für XE7 Hashstring erzeugen
Zitat:
![]() |
AW: Mit LockBox10 für XE7 Hashstring erzeugen
Oh, danke, Uwe, das ist sehr freundlich von dir :thumb:
Werde ich bestimmt noch brauchen können :stupid: |
AW: Mit LockBox10 für XE7 Hashstring erzeugen
Alternativ zu der Schleife mit Result := Result + ...
Delphi-Quellcode:
Function GetHashedString(Const Awort : String) : String;
Var LBH : TLbSHA1; LBD : TSHA1Digest; Begin Result := ''; LBH := TLbSHA1.Create(Nil); Try LBH.HashString(Awort); LBH.GetDigest(LBD); SetLength(Result, Length(LBH) * 2); BinToHex(LBH, PChar(Result), Length(LBH)); Finally LBH.Free; End; End; |
AW: Mit LockBox10 für XE7 Hashstring erzeugen
Es ist hoffentlich bei aller Euphorie klar, dass dieser Hashwert auf einem UTF-16 string basiert?
Also nicht wundern wenn dieser Hashwert z.B. mit einem von einem Webservice ermittelten verglichen wird und man etwas völlig anderes herausbekommt. mMn gehört zu so einer Funktion immer eine überladene dazu, wo man das Encoding angeben kann
Delphi-Quellcode:
function GetHashedString( const AWort : string ): string; overload;
function GetHashedString( const AWort : string; AEncoding : TEncoding ): string; overload; |
AW: Mit LockBox10 für XE7 Hashstring erzeugen
Zitat:
Zitat:
Zitat:
Delphi-Quellcode:
Procedure TFormLogin.Auswerten;
Var HPass,HUser : String; begin Case fLogMode Of 0 : Begin // Login HUser := GetHashedString(Ed_User.Text); HPass := GetHashedString(Ed_Pass1.Text); If DataModul.Q_Benutzer.Locate('BNAME;BPASS',VarArrayOf([HUser,HPass]),[]) Then ModalResult := mrOk Else Begin Fehlertext := 'Falsche Angaben! Programm wird beendet.'; ModalResult := mrClose; End; End; End; end; |
AW: Mit LockBox10 für XE7 Hashstring erzeugen
Das ist doch auch logisch.
Username und Passwort werden von Delphi erfasst (Edit) und damit UTF-16. Darauf werden dann die Hashwerte ermittelt und der Hexcodierte-Hashwert als string (UTF-16) an die Datenbank gegeben. Dabei erfolgt eine implizite Umwandlung von UTF-16 nach UTF-8 durch die Zugriffskomponente. |
AW: Mit LockBox10 für XE7 Hashstring erzeugen
Danke, das wußte ich in dieser Ausführlichkeit noch nicht. Damit ist dann für mich alles soweit im grünen Bereich und ich kann weitermachen. Nochmals Danke :thumb:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:57 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