ITPub博客

首页 > 数据库 > 国内数据库 > YashanDB CRYPT_VERIFY函数

YashanDB CRYPT_VERIFY函数

国内数据库 作者:崖山数据库系统YashanDB 时间:2025-04-25 18:27:44 0 删除 编辑

CRYPT_VERIFY函数以 expr3为签名者需要提供的公钥、以 expr4为签名公钥的算法类型、以 expr5为签名者的签名ID对 expr1的数据和 expr2的签名进行验签,返回验签的结果TRUE或FALSE。

返回结果为TRUE表示验签通过,为FALSE则表示验签失败。

本函数遵循如下规则:

  • expr1数据只支持VARCHAR/CHAR类型。
  • expr2是CRYPT_SIGN函数的输出结果。
  • expr3是HEX格式的签名公钥,可以通过CRYPT_KEY函数创建相应的公私钥对。若不指定则函数报错。
  • expr4是验签的算法类型,目前仅支持SM2类型的签名和验签。
  • expr1或expr2为null时验签失败,返回FALSE。

示例

SELECT CRYPT_KEY('sm2') FROM dual;
CRYPT_KEY('SM2')                                                 
---------------------------------------------------------------- 
PUBLIC:7CB4E274EC64D0AC2BBEC9641731E3A88BF1959572BCDB19C7A3574FC0A6C0DEF3F12B4273F1085EFA96E22415869358EA04DC49590E3464DF6DC85898E38271;PRIVATE:7048688F3345C89E90F5B1E99DED97B5901A01F1C650A99CA752088E1CE22CAA 
SELECT CRYPT_SIGN('how are you? I am fine, thank you', '7048688F3345C89E90F5B1E99DED97B5901A01F1C650A99CA752088E1CE22CAA', 'sm2', 'lilei') signature FROM dual;
SIGNATURE                                                        
---------------------------------------------------------------- 
3046022100B8D8BF5A2E44575BE2B02AC0BE904867D61A605981E5AE324FF79A47C68C55DA022100B6F690EC9DBC64C68AEBF46D0A4383D99D12B516BF297E7A248AD2B9624709D7
    
SELECT CRYPT_VERIFY('how are you? I am fine, thank you', '3046022100B8D8BF5A2E44575BE2B02AC0BE904867D61A605981E5AE324FF79A47C68C55DA022100B6F690EC9DBC64C68AEBF46D0A4383D99D12B516BF297E7A248AD2B9624709D7', '7CB4E274EC64D0AC2BBEC9641731E3A88BF1959572BCDB19C7A3574FC0A6C0DEF3F12B4273F1085EFA96E22415869358EA04DC49590E3464DF6DC85898E38271', 'sm2', 'lilei') verify_result FROM dual;
VERIFY_RESULT 
------------- 
true         
SELECT CRYPT_VERIFY('how are you? I am fine, thank you', '3046022100B8D8BF5A2E44575BE2B02AC0BE904867D61A605981E5AE324FF79A47C68C55DA022100B6F690EC9DBC64C68AEBF46D0A4383D99D12B516BF297E7A248AD2B9624709D7', '7CB4E274EC64D0AC2BBEC9641731E3A88BF1959572BCDB19C7A3574FC0A6C0DEF3F12B4273F1085EFA96E22415869358EA04DC49590E3464DF6DC85898E38271', 'sm2', 'hanmeimei') verify_result FROM dual;
VERIFY_RESULT 
------------- 
false

发布于 2025-04-25 18:27・广东


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70028812/viewspace-3082527/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
崖山数据库系统YashanDB是深圳计算科学研究院完全自主研发设计的新型数据库系统,融入原创理论,支持单机/主备、共享集群、分布式等多种部署方式,覆盖OLTP/HTAP/OLAP交易和分析混合负载场景,为客户提供一站式的企业级融合数据管理解决方案。

注册时间:2023-04-11

  • 博文量
    722
  • 访问量
    639862