PolarDB PostgreSQL版(兼容Oracle)提供的DBMS_OBFUSCATION_TOOLKIT包支持使用MD5函数和存储过程,且与Oracle兼容。
使用须知
2020年3月30日及之后创建的PolarDB PostgreSQL版(兼容Oracle)集群,会在创建数据库时自动创建DBMS_OBFUSCATION_TOOLKIT
插件。
2020年3月30日之前创建的PolarDB PostgreSQL版(兼容Oracle)集群,需要您手动创建插件,创建方法如下:
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);
- 接口类型为存储过程时的使用方法。
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;