更改密码时验证旧密码

时间:2012-04-27 10:40:00

标签: oracle stored-procedures

dba_users.Password包含散列密码。更改密码前如何验证旧密码?我对两种方法有了粗略的了解:

(1)找出oracle使用的哈希算法和种子值,然后获取哈希值和匹配哈希值。事实证明这非常困难,因为oracle的哈希算法和种子并不公开。

(2)EXECUTE IMMEDIATE'CONNECT'|| p_UserName || '/'|| p_OldPassword。这种方法有哪些问题?如何在执行此操作后关闭连接,或者在语句或过程退出后自动关闭?在任何情况下,同一个用户可以多次同时登录吗?

1 个答案:

答案 0 :(得分:2)

ALTER USER命令有一个REPLACE关键字,可让您指定旧密码。