Хеш је стринг фиксне дужине (дигест) генерисан из улазних података било које величине помоћу хеш функције. Процес је једносмеран—не можете дешифровати или обрнути хеш да бисте добили оригиналне податке. Зато је „хеш шифровање“ погрешан назив; Хеширање није шифровање.
Популарни алгоритми за хеширање укључују:
MD5 (застарео за безбедносне сврхе)
SHA-1 (застарео)
SHA-256, SHA-512 (део породице SHA-2)
SHA-3
bcrypt, scrypt, Argon2 (за безбедно хеширање лозинки)
Хеширање служи неколико сврха у сајбер безбедности и интегритету података. Кључни разлози за коришћење хеширања укључују:
Интегритет података: Осигурава да подаци нису измењени (нпр. контролни збирови датотека).
Складиштење лозинки: Безбедно чува лозинке упоређивањем хешева уместо чувања стварних лозинки.
Дигитални потписи: Хешеви се потписују, а не велики документи.
Ефикасност: Мале вредности хеширања фиксне величине се брже упоређују од великих блокова података.
Пошто су хешеви детерминистички и брзи, идеални су за задатке верификације.
Коришћење Хеш функција укључује:
Унос података (нпр. датотеке, стринга или лозинке).
Обраду података помоћу алгоритма за хеширање.
Добијање сажетка, што је стринг фиксне величине који јединствено представља унос.
За заштиту лозинком:
Комбинујте лозинку са соли (случајни подаци).
Примените безбедну хеш функцију (нпр. bcrypt или Argon2).
Безбедно чувајте резултујући хеш и со.
Пошто се хешови не могу поништити, унос (као лозинку) проверавате поновним хеширањем и упоређивањем новог хеша са сачуваним.
Хеширање треба користити када:
Потребно је проверити интегритет података (нпр. проверити да ли има оштећења или неовлашћеног мењања).
Лозинке морају бити безбедно сачуване (не шифроване или у обичном тексту).
Укључени су дигитални потписи и сертификати (хеширање осигурава аутентичност документа).
Брзо поређење података је неопходно (нпр. у хеш табелама или кеш меморијама).
Хеширање није погодно када касније треба да повратите оригиналне податке — за то служи шифровање.