Hash
Hash je funkce, která převádí jednu hodnotu na jinou. Hašování dat je běžný postup v informatice a používá se k několika různým účelům. Patří mezi ně kryptografie, komprese, generování kontrolního součtu a indexování dat.
Hašování se přirozeně hodí pro kryptografii, protože zakrývá původní data jinou hodnotou. Hašovací funkci lze použít ke generování hodnoty, kterou lze dekódovat pouze vyhledáním hodnoty v hašovací tabulce. Tabulkou může být pole, databáze nebo jiná datová struktura. Dobrá kryptografická hašovací funkce je neinvertibilní, což znamená, že ji nelze zpětně analyzovat.
Různé typy komprese, například ztrátová komprese obrázků a komprese médií, mohou využívat hašovací funkce ke zmenšení velikosti souboru. Hašováním dat na menší hodnoty lze mediální soubory komprimovat do menších částí. Tento typ jednosměrného hašování nelze převést zpět, ale může vytvořit přibližnou podobu původních dat, která vyžaduje méně místa na disku.
Hashe se také používají k vytváření kontrolních součtů, které ověřují integritu souborů. Kontrolní součet je malá hodnota vygenerovaná na základě bitů v souboru nebo bloku dat, například v obrazu disku. Když se funkce kontrolního součtu spustí na kopii souboru, například na souboru staženém z internetu, měla by vytvořit stejnou hašovanou hodnotu jako u původního souboru. Pokud soubor nevytvoří stejný kontrolní součet, něco v něm bylo změněno.
A konečně se hashe používají k indexování dat. Hašované hodnoty lze použít k namapování dat na jednotlivé „přihrádky“ v hašovací tabulce. Každá přihrádka má jedinečné ID, které slouží jako ukazatel na původní data. Vzniká tak index, který je výrazně menší než původní data, takže hodnoty lze vyhledávat a zpřístupňovat efektivněji.
Otestujte své znalosti