Hlavní navigace

Názor ke zprávičce Velmi rychlá kryptografická hašovací funkce BLAKE3 vyšla ve verzi 1.0.0 od Filip Jirsák - Nie je, pretozeto nie je hash ale referencia....

  • 30. 7. 2021 10:58

    Filip Jirsák

    Nie je, pretozeto nie je hash ale referencia. Hash by to bol vtedy ak by bolo obtiazne dostat povodnu hodnotu.
    To nijak nesouvisí s tím, na co jste reagoval. A když umíte z hashe vráceného funkcí hashCode() získat původní hodnotu, tak mi řekněte, jaká je původní hodnota objektu s hashem 7534.

    Najde, pozrite si ako je implementovana napr enum.valueOf(str), prechadza tie polozky cez for...
    Víte, jak funguje hashovací tabulka? Zkusíme malý příklad. Vypočítám hash objektu, vyjde mi 7023 a použiju to jako klíč do hashovací tabulky. Až budu chtít zjistit, zda daný objekt je jako klíč v mapě, vypočítám znovu jeho hash. Podle vás je ta funkce nedeterministická, takže mi vyjde jiný hash, třeba 16. Jak přesně podle vás bude fungovat to hledání v hashovací tabulce, abych zjistil, že tam ten klíč je?
    Jak podle vás souvisí enum.valueOf(str) s EnumSetem nebo EnumMapou?

    Tak si prejdite zdrojaky ako je Object.hashCode implementovany, je to priamo referencia, nie jej hash.
    Ano. Proto jsem ji uváděl jako příklad hashovací funkce, která je implementovaná tak, že vrací referenci.

    Asi vam nie je celkom jasne co je kolizia. Ak ma ten objekt rovnaku referenciu, tak to kolizia nie je. To je to iste ako by ste oznacil za kolizu hash dvoch rovnakych retazcov.
    Pro vaši informaci, kolize hashovací funkce znamená, že dva různé vstupy dávají stejný výstup (hash). Vy jste psal, že by byl objekt dealokován a na stejném místě v paměti by vznikl nový objekt. Máme tu tedy dva různé objekty, starý a nový. Ty objekty mají stejný hash. Takže je to kolize.

    Ktory iny osobny udaj je u osoby nemenny.
    Rodné číslo neměnné není.

    V pripade rc dochadza k zmene najzriedkavejsie.
    Aha, a podle vás je hashovací funkce definovaná tak, že jenom „najzriedkavejsie“ dává pro stejný vstup jiný výstup? Poslyšte, co kdybyste si konečně přečetl ten článek na Wikipedii, který jste sám odkazoval, abyste konečně zjistil, jaké jsou požadavky na hashovací funkci?

    Ale vam skor evidentne unikla pointa, hodnota - rc versus referencia - poloha.
    Vy v tom máte takový guláš…