从HASH获取原始价值

Cha*_*ins 1 passwords hash oracle10g

前几天我在企业系统上遇到了一个表--dba_users(oracle).

我能够在此表中为每位员工找到一个哈希密码,以及他们的用户名.

据我所知(来自谷歌搜索)用户名+密码连接,然后哈希.

问题:知道"salt"(我自己的用户名),"原始值"(我自己的密码),以及散列值......这里是否存在能够找出哈希值的危险?

此外 - 谷歌搜索oracle 10g哈希 - 似乎有些人认为他们已经想出了哈希算法.我已经阅读了关于"彩虹表"和"离线字典攻击"......最后,我用谷歌搜索了oracle 11g,该版本的一个功能是它们隐藏了dba_users中的哈希密码,因此最终用户可以看不到.

无论如何,我正在摸索为什么我(即最终用户)可以访问此表,以及为什么DBA似乎不太担心它.

Gor*_*vic 5

散列密码然后将散列存储到数据库的重点是,如果这样做,您将不必担心谁可以在表中看到密码.

要强调:存储在数据库中的密码的(正确计算的)哈希值在没有原始密码的情况下是完全无用的.

据我所知,对于像md5这样的算法,没有办法从哈希中反向设计原始密码.这就是为什么现在大多数服务都不会在您点击"我忘记"链接时向您发送密码 - 而是他们提供设置新密码(一旦您提供旧密码并且服务比较哈希).