package crypto import ( "bytes" "crypto/sha256" ) func SignData(data []byte, secretKey [32]byte) []byte { h := sha256.New() h.Write(data) h.Write(secretKey[:]) return h.Sum(data) } func VerifySignature(data []byte, secretKey [32]byte) bool { dgLen := len(data) unsignedLen := dgLen-32 signature := data[unsignedLen:] tmp := make([]byte, len(data)) copy(tmp, data[:unsignedLen]) copy(tmp[unsignedLen:], secretKey[:]) computed := sha256.Sum256(tmp) return bytes.Equal(signature, computed[:]) }