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;