Haketfunkcio

El Vikipedio, la libera enciklopedio

Haketfunkcio estas funkcio ĵetanta ajnan vicon da bitojbajtoj 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[redakti | redakti fonton]

  1. Kiom ajn longa estas la argumento, la haketaĵo havas la preskribitan longon.
  2. Ĉar la cela aro kutime estas malpli granda ol la fonta, haketfunkcio normale ne estas disĵeto.
  3. 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).
  4. Malgranda variado de argumento povas kaŭzi drastan ŝanĝon de haketaĵo.
  5. Malsimile ol ĉe ĉifrado, per haketaĵo oni normale ne povas rekonstrui la argumenton, haketfunkcio ne estas inversigebla.

La termino[redakti | redakti fonton]

La esperanta «haketado» paŭsas la anglan hashing (en la kuirarta signifo angle “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.