SHA256 hashes são frequentemente utilizadas para computar identidades em binário ou pequenos textos. Por exemplo, certificados TLS/SSL usam SHA256 para computar a assinatura do certificado. Aqui estã como computar hashes SHA256 em Go. |
|
package main |
|
Go implementa várias funções hash em seus respectivos
pacotes |
import ( "crypto/sha256" "fmt" ) |
func main() { s := "sha256 this string" |
|
Aqui é iniciado uma nova hash. |
h := sha256.New() |
|
h.Write([]byte(s)) |
Aqui o resultado da hash é retornado como slice de bytes.
O argumento passado para |
bs := h.Sum(nil) |
fmt.Println(s) fmt.Printf("%x\n", bs) } |
Ao executar o código, é exibida a hash em formato hex |
$ go run sha256-hashes.go sha256 this string 1af1dfa857bf1d8814fe1af8983c18080019922e557f15a8a... |
Também é possível computar outras hashes usando padrão
similar visto anteriormente. Por exemplo, para computar
hashes SHA512 é preciso importar |
|
Note que se você precisa de hashes criptograficamente seguras é bom pesquisar um pouco sobre hash strength! |
Próximo exemplo: Base64 Encoding.