0

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

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

(2) 立即执行“连接”|| p_用户名 || '/' || p_OldPassword。这种方法有什么问题?执行完后如何关闭连接,或者在语句或过程退出后自动关闭?在任何情况下,同一用户可以同时登录多次吗?

4

1 回答 1

2

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

于 2012-04-27T10:49:47.577 回答