Diskussion:FNV (Informatik)

Letzter Kommentar: vor 1 Jahr von 159.48.47.102 in Abschnitt Überarbeitung notwendig

I do not understand where the value: 0x84222325cbf29ce4ULL is coming from ? According to original source code:

http://www.isthe.com/chongo/src/fnv/fnv.h

It should be: #define FNV1_64_INIT ((Fnv64_t)0xcbf29ce484222325ULL)

Seems, as if 0x84222325 and 0xcbf29ce4 once were in a struct and merely got swapped.

Überarbeitung notwendig Bearbeiten

Dieser Artikel ist eine einzige Katastrophe. Hier wird mehr allgemein darauf eingegangen, was Hash-Funktionen sind, als auf den eigentlichen Algorithmus selbst. Die folgenden Punkte stechen ins Auge:

  • „FNV eignet sich jedoch nicht für kryptographischen Einsatz.“ – Warum nicht?
  • „Der magische Trick ist die Verwendung von Primzahlen.“ – Welcher Trick? Und wofür braucht man überhaupt einen Trick, welches Problem soll dieser Trick lösen? Wieso verwendet man dafür Primzahlen, und wo?
  • Abschnitt „FNV-Implementation, 64-bit-Schlüssel, C/Cpp“ – Wer der Sprache C bzw. C++ nicht mächtig ist, ist hier auch schon verloren, denn es wird weder eine Beschreibung des Algorithmus geliefert, noch eine Implementierung in Pseudocode angegeben.
  • Abschnitt „Implementation “ – Hatten wir die nicht schon?
  • „Für jede Schlüsselbreite existiert eine zugehörige alleintaugliche Primzahl.“ – Apropos Schlüsselbreite/-länge, welche Länge haben die Hash-Werte den überhaupt? Dieser Satz suggeriert, dass die Länge variabel ist (bzw. zumindest mehrere fixe Längen existieren). Das ganze hängt anscheinend wieder irgendwie mit diesen „magischen Primzahlen“ zusammen. Wie genau bleibt offen.
  • Weblink „[1]“ – Keine Beschreibung; wohin wird uns dieser Link wohl führen? I'm feeling lucky?

Ich bin hierher gekommen, weil ich wissen wollte, wie sich FNV-1a von anderen FNV-Implementierungen unterscheidet. Dass es mehrere Varianten gibt wird hier aber noch nicht mal erwähnt. -- PyroPi (Diskussion) 05:01, 3. Jul. 2012 (CEST)Beantworten

Detail-Erörterungen sind unter entsprechenden verlinkten Stichworten oder auf der gegebenen Internetquelle auffindbar. Dieser Artikel besticht durch dessen Kürze samt Präzision. Sollten Sie C/Cpp nicht lesen können, dann kennen Sie weder Pearl, PHP, ASM, C# noch andere C/Cpp-Syntaxderivate. Damit geben Sie zu bekennen, dass Sie ohnehin nicht proggen, sondern allenfalls skripten können. -- Walter v. Stanzfeld (20:23, 16. Apr. 2013 (CEST), Datum/Uhrzeit nachträglich eingefügt, siehe Hilfe:Signatur)
Auf die Kürze dieses Artikels können wir uns vielleicht noch einigen, die Präzision muss ich ihm allerdings vollständig absprechen. Denn wäre der Artikel präzise formuliert, wären obige Anmerkungen schließlich überflüssig. Wenn wir hier für Details nur noch auf externe Quellen verweisen wollten, könnten wir uns die Artikel ja auch gänzlich sparen.
Was das "Proggen" betrifft: Erstens bin ich sehr wohl in der Lage diese Derivate zu lesen und zu verstehen, es ging hier aber um Leute, die diese ggf. nicht verstehen und daher eine allgemein verständliche Algorithmusbeschreibung in Pseudocode vorfinden sollten. Und zweitens finde ich die Ansicht, dass nur C-Derivate ordentliche Programmiersprachen sein können, engstirnig und lächerlich. Ganz davon abgesehen ist mir die Relevanz dieses Punktes überhaupt nicht klar. Sollten nur Programmierer Informatik-Artikel verstehen dürfen?
Soviel zum Thema konstruktive Kritik ... -- PyroPi (Diskussion) 15:59, 3. Jul. 2013 (CEST)Beantworten
PyroPi, du hast vollkommen recht, darum hatte ich auch gerade den Baustein eingebaut und siehe da, es gab die Kritik schon auf der Diskussionsseite. :) 87.78.102.248 04:15, 3. Mär. 2014 (CET)Beantworten
Nochmal und expliziter: Erwägungen bzgl. Compiler-Bau und Compiler-Verhalten, bzgl. Hardware-Architektur, bzgl. Key-Collissions oder Key-Generation haben in diesem Artikel nichts zu suchen, sondern in Artikeln zu Compilern, Hardware-Architektur oder Hash-Funktionen bzw. der drunterliegenden Mathematik derer. Stattdessen sollte man besser den im Artikel gegebenen Links folgen. Der FNV ist eine Präsizierung, Konkretisierung des Abstrakten. Ich bleibe bei meiner Haltung: Geschliffene Verbosität anderer täuscht nicht über zerebralvagheitsbedingte Sublimagression (anderer) hinweg. --Walter v. Stanzfeld (Diskussion) 10:18, 6. Apr. 2017 (CEST)Beantworten
Nochmal und noch expliziter: Trainierte Sprach-Cloudbots definieren niemals, woran ich glaube. --159.48.47.102 03:25, 10. Mai 2022 (CEST)Beantworten