Sobes.tech
Junior — Middle

Kun je de belangrijkste kenmerken van hash-functies opsommen?

sobes.tech AI

Antwoord van AI

Belangrijkste kenmerken van hash-functies:

  • Deterministisch: voor dezelfde invoerwaarde geeft de hash-functie altijd dezelfde hash.
  • Snelheid van berekening: de hash-functie moet snel berekend kunnen worden voor alle invoergegevens.
  • Verdeling: hashes moeten gelijkmatig verdeeld worden over het bereik van waarden om botsingen te minimaliseren.
  • Weerstand tegen botsingen: de kans dat verschillende invoer dezelfde hash (botsing) oplevert, moet minimaal zijn.
  • Eénrichting (voor cryptografische hash-functies): het is niet mogelijk om de oorspronkelijke gegevens te herstellen uit de hash.

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

Hier wordt de FNV-hashfunctie gebruikt, die snel de hash van een string berekent.