0

我正在尝试创建自己的登录系统,我想知道散列密码的最佳方法是什么?

我应该只使用 PHP SQL 中的函数hash('SHA512' password)还是应该使用 JavaScript?

我已经使系统通过 PHP SQL 与 散列SHA512,但如果它使用 JavaScript 更安全,我不介意转移。

所以我要问的是,用 JavaScript 和 PHP 散列的优缺点是什么。

如果你也能告诉我这意味着什么,可能会很酷SALT,还没有真正理解它的确切含义,以及我为什么要这样做。

是的,我知道有很多好的登录系统我可以复制/粘贴,但这主要是为了了解它是如何工作的并获得一些经验。

4

1 回答 1

3

用户明显担心可能禁用了 JavaScript。这可以通过让您的编码系统预先添加一些无法插入的内容来“解决”,例如\x01或类似的不可打印字符。这样,您的服务器可以检查第一个字符是否是\x01,如果不是,那么它可以应用 JavaScript 应该做的任何事情。

因此,解决了这个问题后,您还需要考虑 JavaScript 中的任何内容都是清晰可见的。任何恶意用户都可以轻松阅读您的 JS 源代码并准确了解加密是如何完成的。因此,您不能完全依赖 JavaScript 来加密您的数据。您还必须使用服务器端代码来进一步保护它。

从好的方面来说,任何阻止密码通过 HTTP 以纯文本形式发送的东西都是一件好事,但这就是 SSL ( https://) 的用途。

因此,基本上,JavaScript 中的加密可以被视为“穷人的 SSL”,但它并没有真正提供比服务器所能提供的更多的安全性。

于 2014-03-17T12:48:42.173 回答