Site Announcements

Liebe Gäste des Forums, wir freuen uns, dass ihr zu uns gelangt seid.
Windev ist eine sehr umfangreiche und starke Entwicklerumgebung für Anwendungen unter Windows, Linux und Internetapplikationen inkl. Mobile.
Hier sind Antworten und Anregungen dazu zu finden!
Möchtest du aktiv mitschreiben? Dann melde dich durch Klick auf den Text "Registrieren" hier rechts oberhalb an.

Hashstring()

Wie ich gerade feststellen musste, reagieren Upper() und Lower() anders als erwartet (aus xBase Sicht) ... hierfür gibt es eine andere Funktion. Hier sollen solche allgemeinen Themen behandelt werden.

Hashstring()

Beitragvon satmax » 17. Mai 2016, 15:06

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.
satmax
Member
 
Beiträge: 159
Registriert: 24. September 2015, 10:05
Wohnort: Biberbach, Austria
Has thanked: 0 time
Have thanks: 1 time

Re: Hashstring()

Beitragvon satmax » 18. Mai 2016, 04:48

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
satmax
Member
 
Beiträge: 159
Registriert: 24. September 2015, 10:05
Wohnort: Biberbach, Austria
Has thanked: 0 time
Have thanks: 1 time

Re: Hashstring()

Beitragvon Herbert » 18. Mai 2016, 06:42

Ich mache das Ganze mit Crypt resp. Uncrypt.

Code: Alles auswählen
Mitarbeiter.Passwort = Crypt(UnicodeToAnsi(EDT_Passwort), UnicodeToAnsi("meinLoesungswort"))
Herbert
Site Admin
 
Beiträge: 354
Registriert: 23. Februar 2010, 08:06
Wohnort: Langenthal, Schweiz
Has thanked: 5 times
Have thanks: 3 times

Re: Hashstring()

Beitragvon satmax » 18. Mai 2016, 15:24

Geht nicht, muss auf eine gemeinsame DB zugreifen. Und da liegt das PW nur so vor.
satmax
Member
 
Beiträge: 159
Registriert: 24. September 2015, 10:05
Wohnort: Biberbach, Austria
Has thanked: 0 time
Have thanks: 1 time


Zurück zu Umsteigerfragen ... was läuft anders als erwartet ...

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast

cron