Sobes.tech
Junior — Middle

Felsorolnád a hash-függvények fő jellemzőit?

sobes.tech MI

Válasz az MI-től

A hash-függvények fő jellemzői:

  • Determinálhatóság: ugyanazzal a bemeneti értékkel a hash-függvény mindig ugyanazt az értéket adja vissza.
  • Gyors számítás: a hash-függvénynek gyorsan kell kiszámítódnia bármilyen bemeneti adatra.
  • Eloszlás: a hash-eknek egyenletesen kell eloszlaniuk az értéktartományban, hogy minimalizálják az ütközéseket.
  • Ütközés-ellenállás: az esély, hogy különböző bemenetek ugyanazt a hash-t adják (ütközés), minimális kell legyen.
  • Egyszerű irányúság (kriptográfiai hash-függvények esetén): nem lehet visszanyerni az eredeti adatokat a hash-ből.

Példa Go nyelven:

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"))
}

Itt az FNV hash-függvényt használjuk, amely gyorsan kiszámítja egy string hash értékét.