牛牛在线工具

sodium_crypto_sign_verify_detached()

收录 8868 个 PHP 函数,含用途说明与用法示例。

sodium_crypto_sign_verify_detached()

验证签名是否与消息和公钥匹配

函数名称:sodium_crypto_sign_verify_detached() 函数描述:该函数用于验证签名是否与消息和公钥匹配。 适用版本:PHP 7.2.0 及以上版本。 用法: bool sodium_crypto_sign_verify_detached( string $signature, string $message, string $publicKey ) 参数: $signature: 要验证的签名,必须为64字节的二进制字符串。 $message: 要验证的消息,可以是任意长度的字符串。 $publicKey: 用于验证签名的公钥,必须为32字节的二进制字符串。 返回值: 如果签名与消息和公钥匹配,则返回true;否则返回false。 示例: $message = "Hello, world!"; $signature = hex2bin("a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2"); $publicKey = hex2bin("1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef"); if (sodium_crypto_sign_verify_detached($signature, $message, $publicKey)) { echo "Signature is valid."; } else { echo "Signature is not valid."; } 注意事项: 在使用此函数之前,需要确保已经安装并启用了 Sodium 扩展。 签名和公钥必须是二进制字符串,可以使用hex2bin()函数将十六进制字符串转换为二进制字符串。 签名的长度必须为64字节,公钥的长度必须为32字节。 为了确保安全性,公钥应该是由可靠的密钥生成函数生成的,并且只有签名者和验证者知道该公钥。 此函数用于验证签名,不会对消息进行解密。