SHA1 Bug bei leerem String

Hier werden, insbesondere in den Beta-Phasen, Bugmeldungen gepostet. Das offizielle BugForum ist allerdings hier.
Christian+
Beiträge: 213
Registriert: 13.07.2008 10:05
Computerausstattung: Windows 8.1 Pro
AMD Phenom II X4 955 @ 3.2 GHz
4GB RAM
NVIDIA GeForce GTX 660

SHA1 Bug bei leerem String

Beitrag von Christian+ »

Eine Hashfunktion lässt sich normal doch auch auf leere Strings anwenden in Wikipedia ist zur jeder Hashfunktion sogar der passende Wert vermerkt.
In Pure Basic geht das aber nur mit dem MD5 Hash die SHA1 Hash Funktion akzeptiert keinen Speicher der Länge 0.

Hier ein Beispiel das mein Problem zeigt:

Code: Alles auswählen

Define Text.s

Text = "The quick brown fox jumps over the lazy dog"
Debug "MD5('The quick brown fox jumps over the lazy dog')"
Debug MD5Fingerprint(@Text, Len(Text))
Debug "9e107d9d372bb6826bd81d3542a419d6"
Debug ""

Text = "The quick brown fox jumps over the lazy dog"
Debug "SHA1('The quick brown fox jumps over the lazy dog')"
Debug SHA1Fingerprint(@Text, Len(Text))
Debug "2fd4e1c67a2d28fced849ee1bb76e7391b93eb12"
Debug ""

Text = ""
Debug "MD5('')"
Debug MD5Fingerprint(@Text, Len(Text))
Debug "d41d8cd98f00b204e9800998ecf8427e"
Debug ""

Text = ""
Debug "SHA1('')"
Debug SHA1Fingerprint(@Text, Len(Text))
Debug "da39a3ee5e6b4b0d3255bfef95601890afd80709"
Debug ""
Kann das Problem jemand bestätigen?
Zuletzt geändert von Christian+ am 25.03.2014 22:40, insgesamt 1-mal geändert.
Windows 8.1 Pro 64Bit | AMD Phenom II X4 955 @ 3.2 GHz | 4GB RAM | NVIDIA GeForce GTX 660
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7028
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Re: SHA1 Bug bei leerem String

Beitrag von STARGÅTE »

Also bei mir steht bei Wiki das SHA1("") das hier ergibt:
da39a3ee5e6b4b0d3255bfef95601890afd80709

Das stimmt auch mit PureBasic überein, wenn ich keinen Buffer übergebe

Code: Alles auswählen

ExamineSHA1Fingerprint(0)
Debug FinishFingerprint(0)
Somit kannst du erst mal diese Alternative nutzen.
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Christian+
Beiträge: 213
Registriert: 13.07.2008 10:05
Computerausstattung: Windows 8.1 Pro
AMD Phenom II X4 955 @ 3.2 GHz
4GB RAM
NVIDIA GeForce GTX 660

Re: SHA1 Bug bei leerem String

Beitrag von Christian+ »

Verdammt da hatte ich irgendeinen anderen Hash kopiert habe es nun korrigiert.

Werde dann wohl fürs erste auf die ExamineSHA1Fingerprint Variante setzen und NextFingerprint nur aufrufen wenn die Länge größer 0 ist das löst das Problem.
Windows 8.1 Pro 64Bit | AMD Phenom II X4 955 @ 3.2 GHz | 4GB RAM | NVIDIA GeForce GTX 660
Antworten