我已经通过MD5在我的数据库中加密了一个密码字段,并且我在后端加密了它,但是当用户输入密码时,它是纯文本的。
有没有一种安全的方法可以将密码从前端传递到后端? MD5在这种情况下没有意义......
注意:我正在使用HTTPS和POST方法。
答案 0 :(得分:11)
虽然接受的答案正确描述了如何在服务器端 STORE 密码,但问题实际上是如何安全地从客户端传输密码到服务器。
我只是想明确表示在服务器端完成了盐析和散列。客户端只需通过安全连接( int a=1;
const int *b=&a;
a=3;
cout<<(*b);
return 0;
)将明文密码发送到服务器。
答案 1 :(得分:10)
您可以考虑以下步骤来保护密码:
最好使用HTTPS和HSTS在传输过程中保护密码;
使用密码哈希(例如bcrypt而不是MD5)来保护服务器上的密码。
MD5不是散列的最佳方式。 MD5不再被认为是安全的。
MD5不加密;不要加密密码,哈希它们,加密可以解密,哈希不能反转。
答案 2 :(得分:0)
数据库中的密码必须经过哈希处理并保存以保护用户帐户,以防万一发生任何不幸的数据库泄漏或黑客攻击。但这并不能保护从前端到后端在网络上传递的数据。同样,使用 HTTPS 有助于加密在网络上传递的所有数据。