Create MD5 function di Oracle
January 23rd, 2009
Suatu ketika saya ada keperluan menggunakan fungsi MD5 di oracle. karena mencari-cari fungsi built in di oracle tidak ketemu, atau mungkin tidak ada akhirnya saya memutuskan untuk membuat Java Store Procedure. Untuk mempelajari lebih detail langkah-langkah membuat java store procedure anda bisa melihat postingan sebelumnya Java Store Procedure .
Langkah pertama membuat fungsi md5 di java
import java.security.MessageDigest; public class MD5 { public static String getMD5(String message) { try { MessageDigest md = MessageDigest.getInstance("MD5"); String md5string=""; StringBuffer sb = new StringBuffer(); byte buf[] = message.getBytes(); byte[] md5 = md.digest(buf); System.out.println(message); for( int i = 0 ; i < md5.length ; i++ ) { String tmpStr = "0"+Integer.toHexString( (0xff & md5[i])); sb.append(tmpStr.substring(tmpStr.length()-2)); } md5string = sb.toString(); return (md5string); } catch (Exception e) { System.out.println(e); return "0"; } } }
Kemudian kita compile
#javac MD5.javaJika tidak ada error akan menghasilkan MD5.class, kemudian kit aload ke oracle
loadjava -resolve -user scott/tiger MD5.class
Publish fungsi Java Store Procedure dengan membuat interface di oracle :
CREATE OR REPLACE FUNCTION GetMD5(str in varchar) RETURN VARCHAR2 as LANGUAGE JAVA NAME 'MD5.getMD5(java.lang.String) return java.lang.String';
kemudian kita coba
select GetMD5('gatotkaca') from dual;
GETMD5('gatotkaca')
============================
4495ca9b8bb44554754c5ed33a33fef9selamat mencoba !!!
semua script yang ada pada halaman ini bisa anda download di sini




