现在要对数据库中的密码进行加密,之前用的是笨方法,本来用户就不多,所以就直接改数据库了,但现在,生成库上的密码也要加密,有没有oracle函数调用就可以加密的呢?或者别的方法,求高手指教!谢谢了!

解决方案 »

  1.   

    Oracle MD5 加密函数--源代码:CREATE OR REPLACE FUNCTION fn_md5 (input_string IN VARCHAR2) 
    RETURN VARCHAR2 
    IS 
    raw_input RAW (128) 
    := UTL_RAW.cast_to_raw (input_string); 
    decrypted_raw RAW (2048); 
    error_in_input_buffer_length EXCEPTION; 
    BEGIN 
    DBMS_OBFUSCATION_TOOLKIT.md5 (input => raw_input, 
    checksum => decrypted_raw 
    ); 
    RETURN LOWER (RAWTOHEX (decrypted_raw)); 
    END;  --相同的 pl/sql版CREATE OR REPLACE function md5(input_string VARCHAR2) return varchar2 
    IS 
    raw_input RAW(128) := UTL_RAW.CAST_TO_RAW(input_string); 
    decrypted_raw RAW(2048); 
    error_in_input_buffer_length EXCEPTION; 
    BEGIN 
    sys.dbms_obfuscation_toolkit.MD5(input => raw_input, checksum => decrypted_raw); 
    return lower(rawtohex(decrypted_raw)); 
    END;