“安全外部密码存储”有什么用?
我可以使用“安全外部密码存储”在 Oracle 表中创建密码字段吗?或者如何在不使用“安全外部密码存储”的情况下在 Oracle 表中创建密码字段?
一种不使用“安全外部密码存储”(无论是什么)的方法是将 RAW(16) 列添加到表中以存储哈希用户名和密码:
alter table mytable add password raw(16);
然后将散列的用户名和密码存储在其中,如下所示:
insert into mytable (username, password, ...)
values (:username, dbms_obfuscation_toolkit.md5
(input => utl_i18n.string_to_raw
(upper(:username)||:password))
);
然后,当用户尝试使用用户名和密码登录时,您可以像这样检查它们:
select 'OK'
from mytable
where username = :username
and password = dbms_obfuscation_toolkit.md5
(input => utl_i18n.string_to_raw
(upper(:username)||:password));
这样,没有人可以找出存储的密码是什么(除非通过暴力破解)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)