【发布时间】:2015-08-23 17:59:44
【问题描述】:
我正在将一个 android 客户端(可能在未来的 iOS、门户网站等)和 php mysql 服务器放在一起。服务器端我目前正在使用 PHPass 库对传入的密码进行散列和加盐。
我应该让客户端通过 HTTPS/SSL 发送纯文本密码,还是应该让客户端先进行某种形式的散列。例如,每个客户端是否应该简单地对每个传出密码进行 sha1(或其他算法)?
【问题讨论】:
-
也请考虑在security.stackexchange.com发帖
-
这里已经介绍了很多。请参阅 Does it make security sense to hash password on client end、stackoverflow.com/questions/3715920 和 stackoverflow.com/questions/6553363。从安全的角度来看,客户端就是客户端,无论是浏览器还是应用程序。应用程序比客户端代码更难破解,但仍然完全不安全。
-
是的,您应该在客户端和服务器端都进行哈希处理。没有理由不至少在客户端使用恒定盐进行散列,尤其是对于您的情况的移动应用程序。见medium.com/@harwoeck/…
标签: security hash passwords client password-hash