创建测试表,插入测试数据
SQL> create table qwer(mima char(8),md5 varchar(300));
Table created.
SQL> insert into qwer (mima) values(1);
1 row created.
SQL> insert into qwer (mima) values(2);
1 row created.
SQL> insert into qwer (mima) values(3);
1 row created.
SQL> commit;
创建MD5的FUNCTION
SQL>
CREATE OR REPLACE FUNCTION MD5(
passwd IN VARCHAR2)
RETURN VARCHAR2
IS
retval varchar2(32);
BEGIN
retval := utl_raw.cast_to_raw(DBMS_OBFUSCATION_TOOLKIT.MD5(INPUT_STRING => passwd)) ;
RETURN LOWER(retval);--大小写转换
END;
/
Function created.
更新MD5编译的密码
SQL> update qwer set md5=md5(mima);
3 rows updated.
SQL> commit;
Commit complete.
查询测试结果
SQL> select * from qwer;
MIMA MD5
--------------------------------------------------------------------------------
1 a57f2bd6cc01cdcb6929bbcdab2d2c4e
2 53cf9dc14a8c2383a239a853963b6401
3 89d5c7b4463ae1a2609d3bfde4e5f0a2
添加测试列
SQL> alter table qwer add md5nodxx varchar(300);
Table altered.
创建不转小写的funcation
SQL> CREATE OR REPLACE FUNCTION MD5nodxx(
passwd IN VARCHAR2)
RETURN VARCHAR2
IS
retval varchar2(32);
BEGIN
retval := utl_raw.cast_to_raw(DBMS_OBFUSCATION_TOOLKIT.MD5(INPUT_STRING => passwd)) ;
END;
/
Function created.
更新MD5编译的密码(不小写)
SQL> update qwer set md5nodxx=md5nodxx(mima);
3 rows updated.
SQL> commit;
Commit complete.
查询测试结果
SQL> select * from qwer;
MIMA MD5 MD5NODXX
------------------------------------------------------------------------------------------------
1 a57f2bd6cc01cdcb6929bbcdab2d2c4e A57F2BD6CC01CDCB6929BBCDAB2D2C4E
2 53cf9dc14a8c2383a239a853963b6401 53CF9DC14A8C2383A239A853963B6401
3 89d5c7b4463ae1a2609d3bfde4e5f0a2 89D5C7B4463AE1A2609D3BFDE4E5F0A2