封装Oracle中MD5的用法 博客分类: PLSQLMD5OracleSql SqlOracleMD5PlSql
程序员文章站
2024-03-08 08:39:33
...
为了测试需要,需要在数据库中直接使用MD5,对Oracle中MD5的用法进行了简单的封装,直接在代码中执行可以不封装成函数,
如下
DECLARE input_string VARCHAR2(9999) := 'zbcdefghijklmnopqrstuvwxyz';--此处可以修改 raw_input RAW(128) ; decrypted_raw RAW(2048); BEGIN --此处可以使用表中的数据做 加密的原始字符串代替手动输入 --select dummy into input_string from dual ; dbms_output.put_line('key-->'||input_string); --将字符串 转换成 每个字符的ASCII码存放到raw_input RAW类型变量 raw_input := UTL_RAW.CAST_TO_RAW(input_string) ; sys.dbms_obfuscation_toolkit.MD5(input => raw_input, checksum => decrypted_raw); dbms_output.put_line(rawtohex(decrypted_raw)); END;
如果需要 大面积调用, 最好封装成一个Function,如下,因权限问题,没有进行测试
CREATE OR REPLACE FUNCTION MD5 ( input_string_arg in varchar(99999); ) return varchar2 input_string :=input_string_arg; raw_input RAW(128) ; decrypted_raw RAW(2048); BEGIN --此处可以使用表中的数据做 加密的原始字符串代替手动输入 --select dummy into input_string from dual ; dbms_output.put_line('key-->'||input_string); --将字符串 转换成 每个字符的ASCII码存放到raw_input RAW类型变量 raw_input := UTL_RAW.CAST_TO_RAW(input_string) ; sys.dbms_obfuscation_toolkit.MD5(input => raw_input, checksum => decrypted_raw); dbms_output.put_line(rawtohex(decrypted_raw)); return rawtohex(decrypted_raw); END;
上一篇: C语言—位运算