Ich lerne MD5. Ich habe in den meisten Beschreibungen von MD5 einen Begriff "Hash" gefunden. Ich habe 'Hash' gegoogelt, aber ich konnte den genauen Begriff 'Hash' in der Computerprogrammierung nicht finden.
Warum verwenden wir 'Hash' in der Computerprogrammierung? Was ist der Ursprung des Wortes?
Ich würde sagen, jede Antwort muss rätseln, also werde ich dies zu einem Community-Wiki machen.
Hash oder Hash Browns, ist Frühstück Essen aus Kartoffeln in lange dünne Streifen (kleiner als Pommes, und kürzer, aber proportional ähnlich), dann braten die Masse der Streifen in tierischen oder pflanzlichen Fett, bis sie gebräunt, aneinander kleben gemacht und gekocht. In analoger Weise bedeutet das "Hashing" einer Zahl, dass sie in eine andere, normalerweise kleinere Zahl umgewandelt wird, wobei eine Methode verwendet wird, die immer noch deterministisch von der eingegebenen Zahl abhängt.
Ich glaube, der Begriff "Hash" wurde zuerst im Zusammenhang mit "Hash-Tabelle" verwendet, die in den 1960er Jahren auf Mainframe-Maschinen häufig verwendet wurde. In diesen Fällen wird normalerweise ein Ganzzahlwert mit einem großen Bereich in einen "Hash-Tabellenindex" umgewandelt, der eine kleine ganze Zahl ist. Für eine effiziente Hash-Tabelle ist es wichtig, dass die "Hash-Funktion" gleichmäßig verteilt oder "flach" ist.
Ich habe kein Zitat, so habe ich die Analogie verstanden, seit ich sie in den 80ern gehört habe. Es muss jemand dort gewesen sein, als der Begriff zum ersten Mal angewendet wurde.
Ein Hash-Wert (oder einfach Hash) eine Nachricht Digest genannt, ist eine Nummer generiert aus einer Textzeichenfolge. Das Hash ist wesentlich kleiner als die Text selbst, und wird von a generiert Formel so, dass es ist extrem unwahrscheinlich, dass einige andere Text wird den gleichen Hash-Wert erzeugen.
Sie beziehen sich auf die "Hash-Funktion" . Es wird verwendet, um einen eindeutigen Wert für eine gegebene Menge von Parametern zu erzeugen.
Eine großartige Verwendung eines Hash ist die Passwort-Sicherheit. Anstatt ein Passwort in einer Datenbank zu speichern, speichern Sie einen Hash des Passworts.
Ein Hash soll eine eindeutige Kombination von Werten von 00 bis FF (hexadezimal) sein, die ein bestimmtes Datenelement darstellt, sei es eine Datei oder eine Bytefolge. Es wird hauptsächlich für die Speicherung und Verifizierung von Kennwörtern verwendet und um zu testen, ob eine Datei mit einer anderen identisch ist (d. H. Sie hacken zwei Dateien, wenn sie übereinstimmen, sind sie die gleiche Datei).
Im Allgemeinen wird jeder der SHA-Algorithmen gegenüber MD5 aufgrund von Hash-Kollisionen bevorzugt, die bei der Verwendung auftreten können. Siehe diesen Wikipedia-Artikel .
Nach dem Wikipedia Artikel über Hashfunktionen konnte Donald Knuth in der Kunst der Computerprogrammierung das Konzept nachzeichnen von Hash-Funktionen zurück zu einem internen IBM Memo von Hans Peter Luhn im Jahr 1953.
Und nur zum Spaß, hier ist ein Stück überhört Konversation zitiert in Zwei Frauen im Klondike: die Geschichte einer Reise zu den Goldfeldern von Alaska (1899):
Sie müssen den Hashtable den ganzen Tag lang laufen lassen, um uns zu füttern. Es wird eine kurze Auftragsangelegenheit sein.
Die Hash-Funktion hashed die Eingabe in einen Wert, erfordert einen Salzwert und es ist kein Proof-Salz erforderlich lagern. Hinweise sind jeder sagt, wir müssen das Salz gleichen Zeit Spiel und neue Arbeit noch speichern. Mathematisch verwandte Konzepte sind biojection