Home  >  Article  >  Database  >  在Oracle中使用Java Sources

在Oracle中使用Java Sources

WBOY
WBOYOriginal
2016-06-07 16:48:531290browse

Oracle中的MD5加密用法没有搞明白,加密结果与程序中的结果不一样,只好将Java中的方法搬过来。

在Oracle中使用Java Sources

[日期:2014-06-17] 来源:Linux社区  作者:Linux [字体:]

Oracle中的MD5加密用法没有搞明白,,加密结果与程序中的结果不一样,只好将Java中的方法搬过来。
 
 STEP 1:
create or replace and compile java source named md5util as
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                     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 as
language java name 'MD5Util.encrypt(java.lang.String) return java.lang.String';
 
STEP 3:
select md5encrypt('ok') from dual

本文永久更新链接地址:

linux

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn