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;