package crypto import ( "crypto/ed25519" "crypto/sha256" "encoding/hex" "encoding/json" ) // GenerateHash gera um hash SHA-256 de qualquer estrutura func GenerateHash(v interface{}) string { b, _ := json.Marshal(v) h := sha256.Sum256(b) return hex.EncodeToString(h[:]) } // SignMessage assina uma string com uma chave privada func SignMessage(message string, privateKey ed25519.PrivateKey) string { sig := ed25519.Sign(privateKey, []byte(message)) return hex.EncodeToString(sig) }