Haketfunkcio

Haketfunkcio estas funkcio ĵetanta ajnan vicon da bitoj aŭ bajtoj en bitĉenon kun antaŭfiksita longo. La rezultan bitĉenon oni nomas haketaĵo.

Unu el la ĉefaj aplikoj de haketfunkcioj estas ilia uzo en hakettabeloj por rapida serĉo de elementoj.

 Ecoj de haketfunkcioj 
 Kiom ajn longa estas la argumento, la haketaĵo havas la preskribitan longon.
 Ĉar la cela aro kutime estas malpli granda ol la fonta, haketfunkcio normale ne estas disĵeto.
 Malgraŭ tio oni kutime elektas tian haketfunkcion, ke kolizio, t.e. unu sama haketaĵo responda al malsamaj argumentoj, estu okazo relative malofta, tiel ke oni povu uzi haketfunkcion por kontroli integron de datumo (ekz-e ĉe datumtransmeto).
 Malgranda variado de argumento povas kaŭzi drastan ŝanĝon de haketaĵo.
 Malsimile ol ĉe ĉifrado, per haketaĵo oni normale ne povas rekonstrui la argumenton, haketfunkcio ne estas inversigebla.

 La termino 
La esperanta «haketado» paŭsas la anglan hashing (en la kuirarta signifo  “chop and mix”, «dishaketu kaj miksu»), kies metafora signifo konsistas do en tio, ke oni «dishakas» la argumenton en malgrandajn bitĉenetojn (ekz-e en bajtojn), kaj miksas ilin (per cikla adicio aŭ simila procedo), tiel ke laŭeble pli multe da argumentaj bitoj iel lasu sian spuron en la haketaĵo.