不使用SSL散列密码的最佳做法

我知道这个问题听起来好像已经可以回答,但留在我身边。 我有一个网站,需要用户注册并登录。在这个过程中,让我们注册用户将提供一个用户名和密码,系统将检查信息,然后POST自己的PHP脚本盐和散列将密码存储在数据库中之前。

现在,我认为这是安全的,盐和散列密码总是最好的做法,但最近我想过这是如何发生的,数据必须发送到服务器才可以被哈希,因为我不使用SSL用户名和密码都是未加密的,所以我认为这些信息是以纯文本的形式发送的?

如果是这样,这根本不好。 所以通过这种方式我可以看到的唯一两种方式是:

  • 使用SSL并保护用户和服务器之间的连接并加密发送的数据。

  • 在离开用户之前散列信息,这可以使用Javascript来完成

  • 我想执行第二个,但我不知道如何做到这一点。 最佳做法是什么?

    我在发送信息之前就想过,一个AJAX脚本将控制数据并检查是否首先找到我们正在查找的信息,然后对信息进行哈希和散列。

    我所描述的这个实现是否存在安全隐患?

    谢谢你的时间。


    使用SSL并保护用户和服务器之间的连接并加密发送的数据。

    是的,这样做。

    在离开用户之前散列信息,这可以使用Javascript来完成

    这不会保护数据。 相反,它将有效地将要发送到服务器的秘密数据更改为散列版本的密码。 这仍然会以纯文本形式发送,攻击者可以嗅探它并准确知道要发送什么。


    您可能对Secure Remote Password协议感兴趣。

    链接地址: http://www.djcxy.com/p/21593.html

    上一篇: Best practices for hashing a password without using SSL

    下一篇: How to appropriately secure a log in?