我应该通过PHP或JavaScript哈希

Should I Hash via PHP or JavaScript?

本文关键字:JavaScript 哈希 PHP 我应该      更新时间:2023-09-26

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

我应该使用函数从PHP SQL hash('SHA512' password)或我应该使用JavaScript吗?

我已经让系统通过PHP SQL与SHA512哈希,但如果它是更安全的JavaScript我不介意转移。

我想问的是,在JavaScript和PHP中散列的优缺点。

如果你也能告诉我这对SALT意味着什么,那就太酷了,我还没有真正理解它到底意味着什么,以及为什么我应该这样做。

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

显然担心用户可能禁用了JavaScript。这可以通过让编码系统添加一些不能插入的字符来"解决",例如'x01或类似的不可打印字符。通过这种方式,您的服务器可以检查第一个字符是否为'x01,如果不是,那么它可以应用任何JavaScript应该做的事情。

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

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

基本上,在JavaScript中加密可以被看作是"穷人的SSL",但是它并没有真的提供比服务器更多的安全性