Junior — Middle
Peux-tu énumérer les principales caractéristiques des fonctions de hachage?
sobes.tech IA
Réponse de l'IA
Caractéristiques principales des fonctions de hachage:
- Déterminisme: pour une même valeur d'entrée, la fonction de hachage retourne toujours le même hash.
- Vitesse de calcul: la fonction de hachage doit être calculée rapidement pour toutes les données d'entrée.
- Répartition: les hashes doivent être répartis uniformément sur toute la plage de valeurs pour minimiser les collisions.
- Résistance aux collisions: la probabilité que différentes entrées donnent le même hash (collision) doit être minimale.
- Unidirectionnalité (pour les fonctions de hachage cryptographiques): il est impossible de retrouver les données d'origine à partir du hash.
Exemple en 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"))
}
Ici, la fonction de hachage FNV est utilisée, qui calcule rapidement le hash d'une chaîne.