mysql>selectMD5(15201061106);+----------------------------------+|MD5(15201061106)|+----------------------------------+|ba726d7afbda0488aee313ed5cf31270|+----------------------------------+1rowinset(0.00sec)



CREATEORREPLACEFUNCTIONMD5(passwdINVARCHAR2)RETURNVARCHAR2ISretvalvarchar2(32);BEGINretval:=utl_raw.cast_to_raw(DBMS_OBFUSCATION_TOOLKIT.MD5(INPUT_STRING=>passwd));RETURNretval;END;Oracle>selectMD5(15201061106)fromdual;MD5(15201061106)----------------------------------------------BA726D7AFBDA0488AEE313ED5CF31270


这个字符串实际上是16个字节的值用十六进制表示的结果,其中的字符是0-9和A-F,正因为如此,其中的字母大小写是无关的,都表示同一个值。

create or replace function cif_base_kk.MD5(

pass in varchar2)

return varchar2 is

retval varchar2(32);

begin

if pass is null then

return null;

end if;

retval := utl_raw.cast_to_raw(dbms_obfuscation_toolkit.MD5(input_string => pass));

return retval;

end;