我正在使用 Jquery SHA512.js 发送加密并将用户名和密码发送到服务器。在服务器上,我正在执行以下操作来创建我的数据库存储 HASH:
$dbhash = = hash('sha256',(hash('sha512',$user) . hash('sha256',$extremesalt)));
这一切都很好。
我的问题是盐的价值是什么?在将 Salt 应用于密码的那一刻,密码已经在服务器上,而不是在 Internet 上传输。Salt也存储在密码哈希旁边。
因此,似乎有人需要使用哈希表来获取我的表,如果他们这样做了,他们还可以获得盐和我的其余代码,并在我的网站上做他们想做的事情。
我可以看到应用盐的好处,我会这样做,但因为它只发生在服务器上,而不是从浏览器到服务器,我质疑它的价值。我错过了什么吗?
另一个问题 - 是否可以将盐从浏览器应用到服务器。我假设不是,或者至少如果你这样做了,如果有人检查了源代码(例如:在我的原因中在 jquery 中可见),它会是可见的。因此没有实际价值。
谢谢