现在的用户密码用不可匿的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)) ;