Fungsi MD5 di Oracle

Pada DBMS Oracle ternyata belum ada fungsi md5 seperti pada mysql. sehingga ketika kita memasukkan data password isinya berupa string yang bisa dilihat oleh setiap orang yang memiliki hak akses databases. Oleh karena itu perlu adanya suatu fungsi yang akan mengenkrip string tersebut agar privasi password setiap user benar-benar terjamin.

Untuk membuat fungsi md5, kita perlu menggunakan fitur DBMS_OBFUSCATION_TOOLKIT.MD5(‘string’). Tetapi output dari fungsi tersebut bukanlah hexadecimal dengan panjang karakter 32, tetapi merupakan raw yang panjangnya 16 karakter. sehingga hasil dari DBMS_OBFUSCATION_TOOLKIT.MD5() perlu di convert ke bentuk hexadecimal.

Ok, to the point aja…. untuk membuat fungsi md5 buatlah script seperti berikut :

create or replace function “GET_HASH” (p_password in VARCHAR2)
return VARCHAR2 is
begin
RETURN DBMS_OBFUSCATION_TOOLKIT.MD5(input_string => UPPER(p_password));
end;

untuk mengimplementasikan fungsi diatas, jalankan script berikut :

select RAWTOHEX(GET_HASH(‘admin’)) FROM DUAL;

jika semuanya berjalan lancar, berikut hasil dari script diatas..

RAWTOHEX(GET_HASH(‘ADMIN’))
——————————————————————————–
73ACD9A5972130B75066C82595A1FAE3

Sumber : http://aristhu03.wordpress.com/2008/08/08/md5-di-oracle/