Seite 1 von 1
Hashstring()
Verfasst: 17. Mai 2016, 15:06
von satmax
Ich verwende unter Xbase++ Char2Hash() um passwörter zu verschlüsseln. Unter windev gibt es dafür Hashstring()
Char2Hash("password") == 5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8
HashString(HA_SHA_160,"password") == [ªaäɹ??‚%lø3~æØ
sieht ein wenig anders aus, habs über die Zwischenablage kopiert. Auf jeden Fall ganz anders wie erwartet.
Re: Hashstring()
Verfasst: 18. Mai 2016, 04:48
von satmax
Hier eine mögliche Lösung, für mich passt es:
Code: Alles auswählen
// Summary: convert a string in a Hex-String
// Compatible with Xbase++ and VC++
// Syntax:
//[ <Result> = ] Char2Hash (<sPassword> is string)
//
// Parameters:
// sPassword (ANSI string):<specify the role of sPassword>
// Return Value:
// ANSI string: HASH as Hexstring
//
// For instance:
// Indicate an example.
// cHex = Char2Hash("password")
// cHex is now: 5BAA61E4C9B93F3F0682250B6CF8331B7EE68FD8
//
PROCEDURE Char2Hash(sPassword is string)
i is int
cHex is string = ""
cHash is ANSI string = HashString(HA_SHA_160,sPassword)
nLen is int = Length(cHash)
FOR i = 1 TO nLen
cHex += NumToString(Asc(cHash[[i]]),"02X")
END
RESULT cHex
Re: Hashstring()
Verfasst: 18. Mai 2016, 06:42
von Herbert
Ich mache das Ganze mit Crypt resp. Uncrypt.
Code: Alles auswählen
Mitarbeiter.Passwort = Crypt(UnicodeToAnsi(EDT_Passwort), UnicodeToAnsi("meinLoesungswort"))
Re: Hashstring()
Verfasst: 18. Mai 2016, 15:24
von satmax
Geht nicht, muss auf eine gemeinsame DB zugreifen. Und da liegt das PW nur so vor.