我应该通过PHP或JavaScript哈希?

时间:2014-03-17 12:43:33

标签: javascript php mysql hash login-system

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

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

我已经使用SHA512通过PHP SQL对系统进行哈希处理,但如果使用JavaScript更安全,我不介意转移。

所以我要求的是,使用JavaScript和PHP进行散列的优缺点是什么。

如果你能告诉我它对SALT意味着什么,真的不明白它究竟意味着什么,以及为什么我应该这样做,那就太酷了。

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

1 个答案:

答案 0 :(得分:3)

用户可能已禁用JavaScript的明显问题。这可以解决"通过让您的编码系统添加一些无法插入的内容,例如\x01或类似的不可打印字符。通过这种方式,您的服务器可以检查第一个字符是否为\x01,如果它不是,那么它可以应用任何JavaScript应该执行的操作。

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

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

所以基本上,JavaScript中的加密可以看作是“穷人的SSL”#34;但是, 服务器可以做。