使用MD5从前端到后端安全地发送密码

时间:2016-06-08 11:23:36

标签: security https cryptography passwords

我已经通过MD5在我的数据库中加密了一个密码字段,并且我在后端加密了它,但是当用户输入密码时,它是纯文本的。

有没有一种安全的方法可以将密码从前端传递到后端? MD5在这种情况下没有意义......

注意:我正在使用HTTPS和POST方法。

3 个答案:

答案 0 :(得分:11)

虽然接受的答案正确描述了如何在服务器端 STORE 密码,但问题实际上是如何安全地从客户端传输密码到服务器。

我只是想明确表示在服务器端完成了盐析和散列。客户端只需通过安全连接( int a=1; const int *b=&a; a=3; cout<<(*b); return 0; )将明文密码发送到服务器。

答案 1 :(得分:10)

您可以考虑以下步骤来保护密码:

  1. 最好使用HTTPS和HSTS在传输过程中保护密码;

  2. 使用密码哈希(例如bcrypt而不是MD5)来保护服务器上的密码。

    • 使用salt;
    • 的HASH密码
    • 为bcrypt使用高工作因素。
  3. MD5不是散列的最佳方式。 MD5不再被认为是安全的。

    MD5不加密;不要加密密码,哈希它们,加密可以解密,哈希不能反转。

答案 2 :(得分:0)

数据库中的密码必须经过哈希处理并保存以保护用户帐户,以防万一发生任何不幸的数据库泄漏或黑客攻击。但这并不能保护从前端到后端在网络上传递的数据。同样,使用 HTTPS 有助于加密在网络上传递的所有数据。