mirror of
https://gitlab.com/pulsechaincom/prysm-pulse.git
synced 2024-12-26 21:27:19 +00:00
954af67882
* deprecate hashutil * Revert "deprecate hashutil" This reverts commit 6ee40f916c6fcf73fe372b980ba5645fe0456f9d. * changing to golang crypto lib * Add comment * add test
25 lines
570 B
Go
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
|
|
}
|