Хеш функция
From Wikipedia, the free encyclopedia
Хеш функция или раздробяваща функция (на английски: hash-function – насичаща функция) е еднопосочна, математическа функция, която служи за „раздробяване“, сгъстяване на дадено множество. Входният масив от данни с произволна дължина се преобразува в изходен низ с фиксирана дължина. Друга дефиниция е компактно представяне на входната последователност, което наричаме още цифрова сигнатура, отпечатък или извлечение (message digest, digital fingerprint).[1]
Казано на обикновен език, един променлив по размер текст може да бъде пресъздаден като едно строго определено, съответстващо на текста число, наречено хеш (дроб), хеш стойност или извлечение (digest). Прилагането на хеш функция се нарича накратко „хеширане“.
Хеширането се прилага за сравнение на данните: ако два масива имат различни хеш стойности, те гарантирано са различни; ако хеш стойностите са еднакви, масивите най-вероятно са еднакви. В общия случай не се наблюдава еднозначно съответствие между изходните данни и хеш стойността, поради това че броят на значенията на хеш функцията е по-малък от вариантите на входния масив, т.е. съществуват множество масиви, чиито хеш стойности са еднакви – това се нарича колизия. Вероятността за възникване на колизии играе важна роля при оценката на качеството на една хеш функция.