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 Match return subtle.ConstantTimeCompare(hasher.Sum(nil), decodedHashToCheck) == 1, err }