2010-07-05 4 views
8

Kann ein MD5-Hash mit einer Null beginnen? Was ist mit SHA-1?Kann ein MD5-Hash mit einer Null beginnen?

+0

Eine interessantere Frage wäre jedes Problem, in das Sie geraten, dass Sie diese Frage von Anfang an gestellt haben. –

+1

Ich bin mir nicht sicher, ob du noch da bist, aber kann ich fragen, warum du gefragt hast, ob es mit 0 anfangen kann? Ich bin auf ein Problem gestoßen, bei dem der Hash die führenden 0-Ergebnisse zu fallen scheint und ein F am Ende hinzufügt: S – Chris

+0

Diese Frage wird nur angezeigt, als mein Manager mich bat, einen Testfall für einen Hash-Wert anzugeben, der eine Null enthält Byte. – neuront

Antwort

13

Ja:

$ echo -n "363" | md5sum 
00411460f7c92d2124a67ea0f4cb5f85 - 
$ echo -n "351" | sha1sum 
0026476a20bfbd08714155bb66f0b4feb2d25c1c 

Foun die folgenden in bash d durch Ausführen von:

for i in {1..1000} ; do echo $(echo -n $i | md5sum) $i ; done | sort | head 
4

MD5 Hash von "a" = 0cc175b9c0f1b6a831c399e269772661

SHA1 Hash-Wert von "9" = 0ade7c2cf97f75d009975f4d720d1fa6c19f4897

5

Natürlich. Oder zwei Nullen. Oder mehr. Im Allgemeinen beträgt die Wahrscheinlichkeit, dass ein "zufälliges" Eingangssignal zu einem Ergebnis mit k führenden Null-Nylwellen zählt, ungefähr 2 ** (- 4k).

4

md5 von a = 0cc175b9c0f1b6a831c399e269772661

<?php echo md5('a'); ?> 

Sha1 von i = 042dc4512fa3d391c5170cf3aa61e6a638f84342

<?php echo sha1('i'); ?> 

warum nicht: D

2

in einem kryptographischen Hash, jedes gegebene Bit sollte gleich wahrscheinlich sein, eine 0 oder eine 1 für Zufallseingänge sein.

+0

Aber sind manchmal bestimmte Ausgabeformate mit einem Hash-Algorithmus verbunden? Z.B. Das erweiterte DES-Format beginnt und endet mit einem Unterstrich. –

+0

Sicher, aber das ist nicht Teil des Hash selbst, es ist nur Markup. – Chris

5

Ich habe einen MD5-Hash gefunden, der mit einem Nullbyte beginnt!
2 Zeichenkette

Unicode # 7358 # 34823

$returnValue = md5('Ჾ蠇'); 

Ergebnis:

00000000 5e0a51c8 313ffb43 8a3a2861 
3

Versuchen Sie, mit dem String: jk8ssl

echo md5('jk8ssl') 

erzeugen:

00000000 18e6137a c2caab16 074784a6 

Ich habe besser noch nicht gefunden ^^

+1

hast du ein besseres gefunden? – oliholz

+0

Kudos zum Finden einer alphanumerischen Zeichenfolge. Sehr befriedigend. – HughHughTeotl