Kann ein MD5-hash haben, NUR zahlen oder NUR Buchstaben in ihm?
Ich habe geforscht, aber ich bin ratlos.
Ich weiß, dass MD5 können sowohl zahlen und Buchstaben, aber wenn ich jemals einen Fall, wo ein MD5 hat nur aus zahlen oder nur aus Buchstaben, es bricht mein Skript derzeit
- MD5-hashes (auch als message-digests) sind in der Regel dargestellt als eine Sequenz von 32 hexadezimal-Ziffern. was ist also das problem? empfehlen Sie post code/Beispiel...
- So ist es möglich, für die üblichen string-Darstellung der hash enthält nur Buchstaben oder nur Ziffern. Definitiv gültig und möglich. Genauso wie es möglich ist, für eine Dezimalzahl enthalten nur ungerade Ziffern.
- MD5 "sollte als kryptografisch gebrochen und ungeeignet für die weitere Verwendung,"
- Mark: es werden die hexadezimalen Ziffern 0-9 A-F: was ist deine Frage?
- vielen Dank, ich Schätze es
- für jetzt bin ich Durcheinander mit md5 aber ich werde eine bessere hash-Funktion, sobald ich es mit md5 arbeiten
- Sie könnte verwenden SHA-256 oder einige besser funktionieren.
- Was genau meinst du dein Skript bricht? Es gibt einige andere problem mit Ihrem Skript an, das muss behoben werden, wenn Ihr nur erwartet alphanumerische hashes.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Haben Sie 32 Ziffern. Wenn wir annehmen, dass alle Verschlüsselungen gleichermaßen verteilt, es gibt 10^32 Kombinationen, die nur aus numerischen Chiffren, 6^32 Kombinationen nur Buchstaben-Chiffren, und 16^32 Kombinationen insgesamt.
Wodurch eine (10^32 + 6^32) /16^32 die Wahrscheinlichkeit, dass das Skript schlägt fehl, bei jedem Aufruf.
Also einmal in etwa 3,4 Millionen Fällen Fehler auf. Wie oft willst du es nutzen?
's/^([a-z0-9]{32}) .*/\1/'
welche ausdrücklich verlangt für die 32-stellig. Das Komma muss nicht tun, was Sie denken, es tut.Liste der ersten Saiten, die geben nur-stelligen md5-hash:
Hier ist man mit nur Buchstaben:
Theoretisch, ja, ein MD5-hash (wenn konvertiert eine hexadezimale Zeichenfolge) enthalten könnte nur Ziffern oder nur Buchstaben.
In der Praxis auch ja: der string
ximaz
ergibt einen MD5-hash von61529519452809720693702583126814
. Probieren Sie es aus!(Dank PHP Traurigkeit für das Beispiel)
Ich glaube, Sie arbeiten mit dem hex-Repräsentation des MD5-hashes. MD5-hashes sind eigentlich 128-bit-strings. Die meisten tools drucken Sie mit dem hex-Darstellung, welche Beträge auf 32 hexadezimal-Ziffern. Hexadezimalziffern 0-9 und a-f.
Beispiel:
MD5 beabsichtigt war, um eine gute hash-Funktion (momentan kaputt, sollte nicht verwendet werden, die Sicherheit von Anwendungen), was bedeutet, dass es erzeugt zufällige Suche Ausgabe, so dass alle möglichen Werte, die sich in output-Raum genutzt werden. Diese Buchstaben und zahlen sind hex-Darstellung der Ausgabe. Ja, manchmal könnte man bekommen Ausgabe, besteht nur aus Buchstaben oder nur zahlen, aber die meiste Zeit haben Sie beide.
Wenn ich parse-hex-Darstellungen von MD5 würde ich sicherlich nehmen Sie sich Zeit für diese eher seltenen Fällen, wenn der Ausgang Buchstaben oder nur Ziffern.
Ich weiß, das ist eine sehr alte Frage, aber ich fand drei weitere Saiten mit nur zahlen in deren md5-hashes, und Google konnte nichts finden bei der Suche diese hashes, so dass ich dachte, es könnte sich lohnen Buchung diese: