根据 Oracle 11g 数据库哈希密码进行身份验证

问题描述 投票:0回答:1

我正在寻找旧线程的澄清,以证明答案是正确的,但我想了解为什么它是正确的,而不是只获取代码并在我的项目中使用它。我正在尝试针对旧的 Oracle 11g 数据库对 Web 应用程序进行身份验证,该数据库中已有用户/密码。

Oracle 11g 数据库使用两步过程来哈希密码。 首先,它使用 SHA-1 对原始密码进行哈希处理,然后在末尾添加随机的 20 位盐,将它们放在一起,并在前面添加 S:,并将其保存在 sys.user$ 表的 SPARE4 列下。

这个线程解释了它并给出了一个正确运行的 SQL 示例

我不明白的是为什么我不能将原始密码放入像这样的 SHA-1 哈希计算器中:

SHA-1 计算器

然后获取前40个字符?当我尝试时,哈希值相差很大?

oracle hash oracle11g passwords
1个回答
0
投票

Oracle 11g 数据库使用两步过程来哈希密码。首先,它使用 SHA-1 对原始密码进行哈希处理,然后在末尾添加一个随机的 20 位数字盐,将它们放在一起并添加一个 S。

不,它获取原始密码的字节和 20 位盐的字节,并将它们连接在一起,然后然后通过 SHA-1 哈希过程传递加盐密码,然后将

S
附加到末尾。

© www.soinside.com 2019 - 2024. All rights reserved.