Un calculator hash poate fi mai multe lucruri, dar, într-un sens foarte larg, se referă la un program sau o funcție care acceptă un anumit tip de intrare și apoi rulează acea intrare printr-un algoritm pentru a crea o valoare de ieșire, cum ar fi un număr mare sau un bloc de simboluri. Termenul este adesea folosit în transmisia de date pentru a se referi la un program care creează un tip de cheie cu un algoritm, astfel încât oricine primește datele transmise să poată folosi același algoritm pentru a obține aceeași cheie pentru a vedea dacă datele au ajuns intacte și nemodificate. În programarea computerelor, termenul „calculator hash” poate fi folosit pentru a indica o funcție hash care transformă un anumit tip de date într-o cheie hash care apoi este procesată de un alt algoritm pentru a crea un index într-o matrice în care informațiile pot fi stocate. Deși ambele concepte ale calculatorului sunt similare, rezultatele sunt foarte diferite și de obicei nu sunt interschimbabile. O proprietate comună a unui calculator hash, indiferent de utilizarea sa, este că valoarea hash generată va fi întotdeauna identică pentru o anumită bucată de date, indiferent de unde sau când este rulat programul.
În esență, un calculator hash este doar un program sau o funcție care creează un hash din anumite date. Un hash este doar un cuvânt pentru o valoare și poate fi orice, de la un număr la un șir de sute de caractere alfanumerice, în funcție de modul în care este utilizat. Datele care sunt adăugate la un calculator hash pentru a crea un hash, de asemenea, pot fi aproape orice. Când este utilizat pentru verificarea erorilor în transmisia de date, sursa pentru o valoare hash este de obicei un document complet sau un fișier de date, cum ar fi un e-mail sau un fișier imagine. În programare, deoarece valoarea hash este utilizată pentru a determina unde sunt stocate înregistrările de date într-un tabel hash, valoarea de intrare este de obicei o parte a unei înregistrări de date care este unică, cum ar fi numele de familie al unei persoane, un număr de telefon sau un numar de cont.
În cazul transmiterii de date, un calculator hash folosește oricare dintre sutele de algoritmi matematici diferiți pentru a crea valoarea hash unică pentru informațiile transmise. Acest lucru poate fi ceva la fel de simplu ca adăugarea tuturor valorilor tuturor octeților dintr-un fișier, caz în care valoarea hash este suma. De asemenea, poate fi mult mai complex, implicând numărarea blocurilor de biți sau procesarea redundantă a diferitelor secvențe de numere. Cu toate acestea, unul dintre cele mai importante aspecte ale oricărui algoritm hash este că valoarea hash rezultată trebuie să fie întotdeauna aceeași dacă aceleași date sunt utilizate ca intrare. Acest concept înseamnă că, dacă un fișier este transmis cu propria sa valoare hash calculată, atunci receptorul datelor poate folosi un calculator hash cu același algoritm pentru a determina dacă valorile hash pentru date se potrivesc, verificând că datele au fost primite intacte. și fără erori sau modificări.
În programare, termenul „calculator hash” este frecvent folosit pentru a descrie o funcție care convertește o bucată de date într-o valoare hash. Spre deosebire de transmisia de date, numărul generat de calculator în acest caz nu este utilizat neapărat pentru verificare, ci pentru a calcula un index într-un tabel hash unde vor fi stocate informațiile. O valoare hash intermediară este calculată pentru a permite ca un număr mai mare de înregistrări de date să fie plasat în mod previzibil într-un tabel hash mai mic, unele înregistrări generând aceleași valori în anumite circumstanțe. Atât algoritmul folosit pentru a calcula o valoare hash, cât și datele utilizate ca intrare sunt destul de arbitrare pentru un tabel hash și de obicei specifice aplicației.