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.