Skip to content

适用虚谷数据库版本

v12.10.8



适用虚谷数据库版本

v12.10.8


SM2_ENCRYPT

📄字数 824
👁️阅读量 加载中...

功能描述

使用 SM2 公钥加密数据。

版本支持

在OpenSSL 1.1.1版本及以上、Tongsuo任意版本支持。

语法格式

sql
SM2_ENCRYPT(expr1, expr2)

输入参数

  • expr1:SM2 公钥,必须为64字节,BINARY 类型或者能隐式转换为 BINARY 类型的其他类型的值。
  • expr2:明文数据,BINARY 类型或者能隐式转换为 BINARY 类型的其他类型的值。

输出结果

密文数据,BINARY 类型。

执行类型

TYPEVALUE说明
NATIVE1函数只能在本地计算
VOLATI1函数的每次计算值不同
STABLE0函数的每次计算值相同
COMPUTE0函数支持预计算取值
NOT_CONST0函数不支持转常数
HAVE_DEF0函数参数有默认值

示例

sql
SQL> DECLARE
         key raw;
         pubkey raw;
         prikey raw;
         src VARCHAR := '48656C6C6F';
         ciphertext raw;
     BEGIN
         select sm2_key_gen() into key;
         select substring(key, 1, 64) into prikey;
         select substring(key, 65) into pubkey;
         select sm2_encrypt(pubkey, src) into ciphertext;
         dbms_output.put_line('ciphertext: ' || rawtohex(ciphertext));
     END;
     /
ciphertext: 306F022100FA93C99D4927C2AC23A1B24F31D6AD7A9DAE3DCEE6EC5ECC921C34DF8173AC34022100997D5506E4205E7592065E74CF8FF7BCD37D6468AF780DCD9F5FAE8BF5EE0F100420B832FC6508B0CF56ADF40BBAE9DD572E10EDD1FE7B4C53D97EB4E3AE087B827B040564B99F9192

Execute successful.
Use time:5 ms.