Use Java Sources in Oracle
The MD5 encryption usage in Oracle is not clear. The encryption results are different from the results in the program, so we have to move the methods in Java.
STEP 1:
Create or replace and compile java source named md5util
Import java. security. MessageDigest;
Public class MD5Util
{
Public static String encrypt (String s)
{
Char hexDigits [] = {'0', '1', '2', '3', '4', '5', '6', '7 ', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F '};
Try {
Byte [] strTemp = s. getBytes ();
MessageDigest mdTemp = MessageDigest. getInstance ("MD5 ");
MdTemp. update (strTemp );
Byte [] md = mdTemp. digest ();
Int j = md. length;
Char str [] = new char [j * 2];
Int k = 0;
For (int I = 0; I <j; I ++ ){
Byte byte0 = md [I];
Str [k ++] = hexDigits [byte0 >>> 4 & 0xf];
Str [k ++] = hexDigits [byte0 & 0xf];
}
Return new String (str );
}
Catch (Exception e ){
Return null;
}
}
}
STEP 2:
Create or replace function md5encrypt (s varchar2)
Return varchar2
Language java name 'md5util. encrypt (java. lang. String) return java. lang. string ';
STEP 3:
Select md5encrypt ('OK') from dual