您的位置:首页 > 数据库 > Oracle

ORACLE 中使用MD5

2009-02-14 16:34 239 查看
现在的用户密码用不可匿的MD5加密可以增强安全性。在JAVA中非常容易实现MD5算法。

 

有时初始化数据时,需要使用此算法,如一个系统做好后,加入10000条企业数据后,再给企业一个初始化密码。此时初始化的密码最好不要使用随机数。因为每次结果都不一样。

 

此时可采用将此用户的ID,用户名,或组织机构代码用MD5加密,得到32位长度的字符串,再任意取基中的6位或8位作为初始化密码(或更复杂的位置)。

 

在ORACLE中建立一个function

create or replace function MD5_Digest (
vin_string IN VARCHAR2
) RETURN VARCHAR2 IS
--
-- Return an MD5 hash of the input string.
--
BEGIN
RETURN UPPER(Dbms_Obfuscation_Toolkit.Md5 ( input => utl_raw.cast_to_raw(vin_string)
));
END MD5_Digest;

--将此用户的登录名加密后,取前6位作为密码,存到数据库中是加密的,所以要再加密一次

update user_info t set t.password=md5_digest(substr(md5_digest(t.login_name) , 0, 6)) ;


 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息