Hlavní navigace

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

  • 30. 7. 2021 17:20

    dw

    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.

    No vidite ze si viete dokazat aj sam ze sa mylite :)

    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.

    Kolizia v pripade hash funkcie je ak pre dva rozne vstupy dostanete rovnaky vysledok. Ak je referencia na stary a na novy objekt rovnaka, tak to nie je kolizia v hash funkcii.

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

    Ja som netvrdil ze nemmene nie je. Vytrhol ste to z kontextu. Povodne to bolo "Ktory iny osobny udaj je u osoby nemenny. V pripade rc dochadza k zmene najzriedkavejsie.". Tak sa spytam este raz, ktory udaj okrem rc, je u osoby z najvecsou pravdepodobnostou nemenny?

    Vy v tom máte takový guláš…

    Nemam, to vy len trolite a uz sa do toho pekne zamotavate :D