我的需求是检查在线库是否有弱密码存在,最后发现原来这样是有原因的。因为Oracle的密码是根据用户名和密码共同生成的密码。也就
方法也是参考网上牛人的结果改写的,,原来作者的需求是验证用户名和明文密码是否匹配,当时觉得用处不是很大,因为我的需求是检查在线库是否有弱密码存在,最后发现原来这样是有原因的。因为Oracle的密码是根据用户名和密码共同生成的密码。也就是说,A用户使用APP作为密码和B用户使用APP作为密码,生成的密文是不一样的。
废话不多说,贴一下我改动的函数吧。修改的东西非常少,原来是从库里面进行验证,现在我只是想得到加密串:
create or replace function testpwd(password in varchar2)
return varchar2
authid current_user
is
--
raw_key raw(128):= hextoraw('0123456789ABCDEF');
--
raw_ip raw(128);
pwd_hash varchar2(16);
--
procedure unicode_str(userpwd in varchar2, unistr out raw)
is
enc_str varchar2(124):='';