在建立数据表的时候的密码字段时,我突然想起我以前写过mysql这个密码字段从数据库中看不是明文。而我记得当初我用php+mysql做后端md5的加密放在了后端,而前端是明文传输。
· 但是经过了这么几年,在一些博客和文章中或多或少提及前端加密无效,和前端加密是否有必要性的问题,但当时我没细读,刚刚我又查阅了一番,总结出来的结果是:
前端还是有必要加密传输密码的Σ(⊙▽⊙"a ,虽然我并不打算做前端加密
加密的非必要性:
1.传输过程不是加密的,那么包随便发,至于发一个abc123,还是发一个e99a18c428cb38d5f260853678922e03,对你的程序没有任何的区别。
2.前台加密的结果就是假设原来黑客需要知道你的明文才能进入系统,现在不止明文,知道密文也可以登录系统。
加密的必要性:
1. 前端md5加密然后别人抓包,可以模拟登陆了。但是他仅仅是能登陆,他并不知道你的源密码是啥,他截获的是md5加密过的密文,这样就大大降低了社会学攻击。(解释一些,社会学攻击。大家习惯性将各个平台账号设置为一个或者几个密码,方便记忆,人家拿了你一个,就去试别的,Duang!爆炸了!)
2. 前端加密也有一定安全性。我们简单的加密,会被抓包,那我们可以将加密变得复杂一些。使这个直接抓包无法登陆,或者不容易登陆。
当密码足够简单,黑客可以很容易解密如下图:


而当密码足够复杂,黑客抓包拿到密文,也无法解密用户输入的明文。

'
所以得出前端采用http协议传输的,还是很有必要做前端密码加密。
本文讨论了前端登录加密的必要性和非必要性。虽然前端加密不能阻止已知密文的模拟登录,但它能降低社会工程学攻击的风险,保护用户的源密码不被轻易获取,增加了黑客解密的难度,尤其对于复杂密码。因此,即使存在被抓包的风险,前端加密仍然是提升用户数据安全的重要措施。

被折叠的 条评论
为什么被折叠?



