Diese Seite mit anderen teilen ...

Informationen zum Thema:
Forum:
WinDev Forum
Beiträge im Thema:
6
Erster Beitrag:
vor 4 Jahren, 7 Monaten
Letzter Beitrag:
vor 4 Jahren, 7 Monaten
Beteiligte Autoren:
Marijan Tomasic, Alen U., Charles U. Schneiter

HashString problem...

Startbeitrag von Marijan Tomasic am 28.11.2013 08:50

I'm playing with SHA1 hash example:


sHASHString is string
sHASHBuffer is Buffer
sHASHBuffer = HashString(HA_SHA_160,"Aa12345")

FOR nIndex=1 _TO_ Length(sHASHBuffer)
sHASHString += NumToString(Asc(sHASHBuffer[[nIndex]]),"02x")
END

Info(sHASHString)


Result is: 0019d001fe007d033d520047200581400

Why this code result is diferent then PHP SHA1() function?

php result is: bcc69daac87e9c7d033d5285d332bfe5a154ee3c

How to get result same as PHP SHA1() function?

Antworten:

Hi Marijan,

Just a shot in the barn, but anyway:

Are you using a mix of ANSI and Unicode per chance?

Here, they say:

Quote

HashString and UNICODE
Caution: The Hash functions operate on the bytes found in the character strings. For the same type of algorithm, the result will differ in UNICODE and in ANSI.


Just my 2 bullets ;-)

HTH

von Charles U. Schneiter - am 28.11.2013 09:05
Thanks Charles, but I tested any type combinations, but the result is same...

von Marijan Tomasic - am 29.11.2013 13:00
Hi,
if you use "UNICODE strings at runtime" then this solves the problem:

sHASHBuffer = HashString(HA_SHA_160,UnicodeToAnsi("Aa12345"))

BR
Alen

von Alen U. - am 29.11.2013 14:02
I'm using WB17, PHP project with "Unicode strings at runtime"
This line of code should return 20, but I get diferent results:


Info(Length(HashString(HA_SHA_160, "Aa12345")))


:confused:
I don't know why?

von Marijan Tomasic - am 02.12.2013 07:11
I'm using WB17, PHP project
with "Unicode strings at runtime":


Length(HashString(HA_SHA_160, "")) return 14 (why?)



without "Unicode strings at runtime":


Length(HashString(HA_SHA_160, "")) return 20 (as expected)


von Marijan Tomasic - am 02.12.2013 08:38
Zur Information:
MySnip.de hat keinen Einfluss auf die Inhalte der Beiträge. Bitte kontaktieren Sie den Administrator des Forums bei Problemen oder Löschforderungen über die Kontaktseite.
Falls die Kontaktaufnahme mit dem Administrator des Forums fehlschlägt, kontaktieren Sie uns bitte über die in unserem Impressum angegebenen Daten.