PolarDB-O提供了DBMS_OBFUSCATION_TOOLKIT包的MD5函数和存储过程,与Oracle相兼容。

使用须知

2020年3月30日及以后创建的PolarDB-O集群,会在创建数据库时自动创建DBMS_OBFUSCATION_TOOLKIT插件。

2020年3月30日以前创建的PolarDB-O集群,需要您手动创建插件,创建方法如下:

CREATE EXTENSION polar_dbms_obfuscation_toolkit;

更多关于该插件的说明请参见DBMS_OBFUSCATION_TOOLKIT

接口

接口 类型 输入参数 输出
dbms_obfuscation_toolkit.md5 函数 bytea raw_checksum
dbms_obfuscation_toolkit.md5 存储过程 bytea raw_checksum
dbms_obfuscation_toolkit.md5 函数 character varying character varying
dbms_obfuscation_toolkit.md5 存储过程 character varying character varying

使用方法

-- 执行函数
select dbms_obfuscation_toolkit.md5('a'::varchar2);
select dbms_obfuscation_toolkit.md5('a'::raw);

-- 使用存储过程
exec dbms_obfuscation_toolkit.md5(input=>'a');
exec dbms_obfuscation_toolkit.md5(input_string=>'a');

-- 在存储过程中使用
declare
  input varchar2(100):= 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
  checksum1 raw(100);
  checksum2 varchar2(100);
begin
  dbms_obfuscation_toolkit.md5(input=>utl_raw.cast_to_raw(input), checksum=>checksum1);
  dbms_obfuscation_toolkit.md5(input_string=>input, checksum_string=>checksum2);
  dbms_output.put_line(checksum1);
  dbms_output.put_line(utl_raw.cast_to_raw(checksum2));
end;