Sobes.tech
Junior — Middle

¿Puedes enumerar las características principales de las funciones hash?

sobes.tech AI

Respuesta de la IA

Características principales de las funciones hash:

  • Determinismo: para un mismo valor de entrada, la función hash siempre devuelve el mismo hash.
  • Rapidez de cálculo: la función hash debe calcularse rápidamente para cualquier dato de entrada.
  • Distribución: los hashes deben distribuirse uniformemente en todo el rango de valores para minimizar colisiones.
  • Resistencia a colisiones: la probabilidad de que diferentes entradas produzcan el mismo hash (colisión) debe ser mínima.
  • Unidireccionalidad (para funciones hash criptográficas): no se puede recuperar la entrada original a partir del hash.

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

Aquí se utiliza la función hash FNV, que calcula rápidamente el hash de una cadena.