在什么情况下黑客会得到表而不是PHP代码?

Joh*_*117 5 php mysql security salt

好的,所以我理解哈希密码中盐的价值......有点儿.

我正在设置一个基本的身份验证方案,我设置密码,用户无法将密码设置为他们可能用于其他网站的东西.

那么盐的真正用途是什么?

在什么情况下,有人可能会破坏我的用户表,但也无法访问包含所有数据的其余表,或者我的PHP代码显示了魔力?

我试图确定在我的情况下使用盐是否真的那么重要.

谢谢

roo*_*ook 2

需要注意的是,SQL 注入可用于使用load data infile来读取文件。通过攻击者未知的盐值,这将迫使攻击者进行更多猜测以获得纯文本。尽管加盐几乎从不考虑这一点。主要思想是完成两件事:

1)具有相同密码的两个用户将具有不同的密码哈希值。这就是为什么一些加盐系统使用非常小的盐,例如仅几个字节。

2)迫使攻击者生成更大的彩虹表。在本例中,您至少需要 8 个字节。通常,您会看到盐与消息摘要函数具有相同的位数,这使得预计算完全不可行。

一旦获得了盐,就可以使用John The Ripper工具来暴力破解密码。GPU 也常用于破解高盐密码。值得注意的是,bcrypt() 由于其对内存的要求较高,因此擅长防御 FPGA 和 GPU。 使用内存硬功能进行密码存储可以产生非常强大的密码存储系统。