Hlavní navigace

Názor ke zprávičce Velmi rychlá kryptografická hašovací funkce BLAKE3 vyšla ve verzi 1.0.0 od dw - No vidite ze si viete dokazat aj sam...

  • 30. 7. 2021 18:06

    dw

    No vidite ze si viete dokazat aj sam ze sa mylite :)
    Já jsem napsal úplně na začátku vlákna, že některé hashovací funkce jsou implementovány tak, že vrací jen referenci na objekt převedenou na číslo. Vy jste teď po mnoha komentářích objevil, že to tak doopravdy je a potvrdil jste to. To nevypadá, že bych se mýlil, když i vy jste nakonec mé tvrzení p vrací jen referenci na objekt potvrdil…

    Ta funkcia vracia referenciu a nie hash. Ako ste sam potvrdil. To ze sa ta funkcia vola hashCode a vracia priamo nehashovanu referenciu, neznamena ze by to nejako menilo vseobecnu definiciu co je hash a hashovacia funkcia.

    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.
    Ano, správně, kolize je, když pro dva různé vstupy vrací hashovací funkce stejný výstup. Takže když hashovací funkce pro dva různé objekty vrací stejný výstup, je to kolize. To, že reference ukazuje na stejné místo v paměti, je irelevantní – jsou to dva různé objekty.

    Vstup do "hashCode" je referencia. Kolizia teda vznikla este pred pouzitim tzv. hash funkcie. Vystup je referencia, tj to iste co je na vstupe. Object.hashCode tym padom nie je hash funkcia ani omylom.

    Ja som netvrdil ze nemmene nie je.
    Chtěl jste ho použít jako vstup do hashovací funkce.

    Je vseobecne uznavane ako jednoznacne identifikujuci udaj.

    Tak sa spytam este raz, ktory udaj okrem rc, je u osoby z najvecsou pravdepodobnostou nemenny?
    Datum narození, rodné jméno a příjmení, místo narození.

    Uz vidim ako prave vam predklada kazdy overenu kopiu rodneho listu aby ste z tych udajov mohol vytvorit hash. Vacsina vas posle spatky do dob normalizacneho temna a odide tam kde bude stacit doklad s rodnym cislom.

    Nemam, to vy len trolite a uz sa do toho pekne zamotavate :D
    Já se do ničeho nezamotávám. To vy tu vymýšlíte nesmysly jako že rodné číslo je hodnota, zatímco GPS souřadnice jsou reference.

    Referencia ale je umiestnenie objektu v ramci pamate VM. Toto umistnenie nie je nemenne. Neviem ako java, ale predpokladam ze to bude rovnako umoznuje objekt realokovat. Napr string, ak k nemu pridavate znaky a nestaci mu alokovane miesto tak je bud realokovany alebo sa na pozadi vytvori nanovo a do neho sa povodny string nakopiruje. Stale to bude ten isty objekt, akurat sa zmeni referencia nan.

    Mozete si to predstavit ako domceky. Hodnota je kto sa domecku zdrzuje a referencia je kde sa domecek nachadza. Ked ludi medzi domeckami prestahujete tak sa zmeni len referencia na nich. Ti ludia sa tym nezmenia. A nezmeni sa tym ani hash ktory ich identifikuje.

    To vyznelo ako pre predskolakov, skusim trocha zlozitejsie. Mate pole objektov. V tomto pripade je referencia konkretneho objektu v poli referencia na pole + index objektu x velkost objektu. Ked ich v tom poli prestahujete (napr. sort) tak ze zmenia aj ich referencie, nie ich hash.