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.