prysm-pulse/shared/hashutil/hash.go
Nishant Das 954af67882
Change to Golang Crypto Library (#1054)
* deprecate hashutil

* Revert "deprecate hashutil"

This reverts commit 6ee40f916c6fcf73fe372b980ba5645fe0456f9d.

* changing to golang crypto lib

* Add comment

* add test
2018-12-07 01:01:51 +08:00

25 lines
570 B
Go

package hashutil
import (
"golang.org/x/crypto/sha3"
)
// Hash defines a function that returns the
// Keccak-256/SHA3 hash of the data passed in.
// https://github.com/ethereum/eth2.0-specs/blob/master/specs/core/0_beacon-chain.md#appendix
func Hash(data []byte) [32]byte {
var hash [32]byte
h := sha3.NewLegacyKeccak256()
// The hash interface never returns an error, for that reason
// we are not handling the error below. For reference, it is
// stated here https://golang.org/pkg/hash/#Hash
// #nosec G104
h.Write(data)
h.Sum(hash[:0])
return hash
}