|
SHA256 hash funkce jsou často používané pro výpočet krátkých identit pro binární nebo textové bloby. Například TLS/SSL certifikáty používají SHA256 pro výpočet podpisu certifikátu. Tady je jak vypočítat SHA256 hashe v Go. |
|
![]()
package main
|
|
|
Go implementuje několik hash funkcí v různých balíčcích
|
import (
"crypto/sha256"
"fmt"
)
|
func main() {
s := "sha256 this string"
|
|
|
Tady začínáme s novým hashem. |
h := sha256.New()
|
|
|
h.Write([]byte(s))
|
|
Toto získá finalizovaný výsledek hashe jako výřez
bajtů. Parametr funkce |
bs := h.Sum(nil)
|
fmt.Println(s)
fmt.Printf("%x\n", bs)
}
|
|
Spuštění programu vypočítá hash a vypíše ho ve lidsky čitelném hexa formátu. |
$ go run sha256-hashes.go
sha256 this string
1af1dfa857bf1d8814fe1af8983c18080019922e557f15a8a...
|
|
S použitím podobného vzoru můžete vypočítat jiné hashe
podobné tomu výše. Například pro výpočet SHA512 hashe
importujte |
|
|
Poznamenejte si, že pokud budete potřebovat kryptograficky bezpečné hashe, měli byste opatrně prozkoumat sílu hash funkcí! |
Další příklad: Kódování base64.