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.
Hashstring()
-
- Senior Member
- Beiträge: 312
- Registriert: 24. September 2015, 10:05
- Wohnort: Biberbach, Austria
- Kontaktdaten:
Re: Hashstring()
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
-
- Site Admin
- Beiträge: 529
- Registriert: 23. Februar 2010, 08:06
- Wohnort: Langenthal, Schweiz
- Kontaktdaten:
Re: Hashstring()
Ich mache das Ganze mit Crypt resp. Uncrypt.
Code: Alles auswählen
Mitarbeiter.Passwort = Crypt(UnicodeToAnsi(EDT_Passwort), UnicodeToAnsi("meinLoesungswort"))
-
- Senior Member
- Beiträge: 312
- Registriert: 24. September 2015, 10:05
- Wohnort: Biberbach, Austria
- Kontaktdaten:
Re: Hashstring()
Geht nicht, muss auf eine gemeinsame DB zugreifen. Und da liegt das PW nur so vor.