1 owt5008137 2016-05-29 13:12:59 +08:00 via Android 现在两层的 md5 和 sha1 都比较容易被撞库 |
2 jasontse 2016-05-29 13:22:06 +08:00 via iPad 「 js 本地加密一下再 post 给 php 」这样除了增加前端的复杂度修改了最终提交的密码有什么不一样吗 |
![]() | 3 lslqtz 2016-05-29 13:32:58 +08:00 不安全, http 情况下可以修改源文。 |
![]() | 6 lc4t 2016-05-29 13:40:13 +08:00 via iPhone ![]() 没有 https 那么传输过程都不可信,谁都能看。 md5/sha1 也不安全了,建议前端 bcrypt 然后 https 。 |
![]() | 8 lslqtz 2016-05-29 13:42:15 +08:00 via iPhone @muziyue 嗯 这样没有啥作用,需要劫持的可以直接把你的 js 改成先明文发送其他机子,再用你自己的 js 加密发送到你服务器。 |
![]() | 9 lslqtz 2016-05-29 13:44:00 +08:00 via iPhone ![]() 吃力不讨好,该改还是改,还占资源。。要安全还是上 https 。 |
![]() | 10 iyaozhen 2016-05-29 14:00:35 +08:00 via Android ![]() 如果 js 只是单纯的加密密码是没用的,黑客也不用知道你原始密码,知道你加密后的密码就行,传给服务端服务端自己会解密成原始密码。 js 加密要和服务端结合才行,做到一次一密。先从服务端拿个动态 token(初始向量)然后再加密传输到服务端,这样那种一般的抓包就不行了,必须要拿到你的 js 来解密。 当然一切前端的东西都是不可信的,不过也能提高黑客的成本,能上 https 还是上 https 吧。 还有楼上有些同学可能对 PHP 不了解, PHP 的 password_hash 函数就是专门搞这个事情的,把密码 hash ,还可以自己加 salt ,还能保证不同密码长度完成加密时间一样。非常可靠和安全。如果后端是 PHP 的话就不要自己造轮子了。 |
11 qqmishi 2016-05-29 14:49:17 +08:00 ![]() 建议上 https 。 只前端加密的话,唯一的用处是中间人不能直接看到明文密码,但拦不住重放攻击,直接再发一遍这个包就破了。 或者你加个动态验证,比如时间或者服务器发的 token 。 |
![]() | 12 SoloCompany 2016-05-29 17:35:22 +08:00 这问题都讨论烂了 前端加密有任何意义吗? 即便你都要用上非对称加密了, rsa 吧 走 http 的话中间人直接换掉你的公钥,那就和明文没区别了 即便不换掉你的 key 都中间人了 直接捕获你的密码输入,旁路提交到另一个地方又怎么了 |
![]() | 13 muziyue OP @SoloCompany 抱歉我可没看到其他关于 password_hash 的讨论帖子 |
![]() | 14 Citrus 2016-05-29 17:45:18 +08:00 via iPhone @
|