Skip to main content

Signer

Trait Signer 

Source
pub trait Signer:
    Identified
    + Send
    + Sync {
    // Required methods
    fn sign(&self, message: &[u8], private_key_hex: &str) -> Result<String>;
    fn verify(
        &self,
        message: &[u8],
        signature_hex: &str,
        public_key_hex: &str,
    ) -> Result<()>;
}
Expand description

签名:消息签名与验签。密钥与签名均为十六进制,格式由实现决定 (本项目内统一:ECDSA / SM2 为定长 r‖s,Ed25519 为 64 字节定长)。

Required Methods§

Source

fn sign(&self, message: &[u8], private_key_hex: &str) -> Result<String>

对消息签名,返回十六进制签名(失败不为原因分类)。

Source

fn verify( &self, message: &[u8], signature_hex: &str, public_key_hex: &str, ) -> Result<()>

验签;失败与格式错误一律 crate::error::Error::VerificationFailed(不区分原因)。

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§