MD5 Function di Oracle
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.java
Jika 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')
============================
4495ca9b8bb44554754c5ed33a33fef9
selamat mencoba !!!
semua script yang ada pada halaman ini bisa anda download di sini