dba_users.Password 包含散列密码。如何在更改密码之前验证旧密码?我对两种方法有一个粗略的了解:
(1) 找出预言机使用的哈希算法和种子值,然后取哈希并匹配哈希。事实证明这非常困难,因为 oracle 的哈希算法和种子并不为公众所知。
(2) 立即执行“连接”|| p_用户名 || '/' || p_OldPassword。这种方法有什么问题?执行完后如何关闭连接,或者在语句或过程退出后自动关闭?在任何情况下,同一用户可以同时登录多次吗?
dba_users.Password 包含散列密码。如何在更改密码之前验证旧密码?我对两种方法有一个粗略的了解:
(1) 找出预言机使用的哈希算法和种子值,然后取哈希并匹配哈希。事实证明这非常困难,因为 oracle 的哈希算法和种子并不为公众所知。
(2) 立即执行“连接”|| p_用户名 || '/' || p_OldPassword。这种方法有什么问题?执行完后如何关闭连接,或者在语句或过程退出后自动关闭?在任何情况下,同一用户可以同时登录多次吗?