Sobes.tech
Junior — Middle

Poți enumera principalele caracteristici ale funcțiilor hash?

sobes.tech AI

Răspuns de la AI

Caracteristici principale ale funcțiilor hash:

  • Determinism: pentru aceeași valoare de intrare, funcția hash returnează întotdeauna același hash.
  • Viteză de calcul: funcția hash trebuie să fie calculată rapid pentru orice date de intrare.
  • Distribuție: hash-urile trebuie să fie distribuite uniform pe întregul interval de valori pentru a minimiza coliziunile.
  • Rezistență la coliziuni: probabilitatea ca diferite intrări să dea același hash (coliziune) trebuie să fie minimă.
  • Unidirecționalitate (pentru funcții hash criptografice): nu se poate recupera datele originale din hash.

Exemplu în Go:

import (
    "fmt"
    "hash/fnv"
)

func hash(s string) uint32 {
    h := fnv.New32a()
    h.Write([]byte(s))
    return h.Sum32()
}

func main() {
    fmt.Println(hash("example"))
}

Aici se folosește funcția hash FNV, care calculează rapid hash-ul unui șir de caractere.