Sobes.tech
Junior — Middle

Podes listar as principais características das funções hash?

sobes.tech IA

Resposta da IA

Características principais das funções hash:

  • Determinismo: para um mesmo valor de entrada, a função hash sempre devolve o mesmo hash.
  • Rapidez de cálculo: a função hash deve ser calculada rapidamente para quaisquer dados de entrada.
  • Distribuição: os hashes devem distribuir-se uniformemente por todo o intervalo de valores para minimizar colisões.
  • Resistência a colisões: a probabilidade de diferentes entradas gerarem o mesmo hash (colisão) deve ser mínima.
  • Unidirecionalidade (para funções hash criptográficas): não é possível recuperar os dados originais a partir do hash.

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

Aqui, é utilizada a função hash FNV, que calcula rapidamente o hash de uma string.