You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

29 lines
563 B
Go

package sha512
import (
// Standard
"crypto/sha512"
"crypto/subtle"
"encoding/hex"
)
// Check Hash
func (Algorithm) CheckHash(data []byte, hashToCheck string) (bool, error) {
// Hasher
hasher := sha512.New()
// Write To Hasher
_, err := hasher.Write(data)
// Handle Error
if err != nil {
return false, err
}
// Decode Hash To Check
decodedHashToCheck, err := hex.DecodeString(hashToCheck)
// Handle Error
if err != nil {
return false, err
}
// Return Hash
return subtle.ConstantTimeCompare(hasher.Sum(nil), decodedHashToCheck) == 1, err
}