探讨前端登录加密问题

        在建立数据表的时候的密码字段时,我突然想起我以前写过mysql这个密码字段从数据库中看不是明文。而我记得当初我用php+mysql做后端md5的加密放在了后端,而前端是明文传输。

·      但是经过了这么几年,在一些博客和文章中或多或少提及前端加密无效,和前端加密是否有必要性的问题,但当时我没细读,刚刚我又查阅了一番,总结出来的结果是:

前端还是有必要加密传输密码的Σ(⊙▽⊙"a ,虽然我并不打算做前端加密

加密的非必要性:

1.传输过程不是加密的,那么包随便发,至于发一个abc123,还是发一个e99a18c428cb38d5f260853678922e03,对你的程序没有任何的区别。

2.前台加密的结果就是假设原来黑客需要知道你的明文才能进入系统,现在不止明文,知道密文也可以登录系统。

加密的必要性

1. 前端md5加密然后别人抓包,可以模拟登陆了。但是他仅仅是能登陆,他并不知道你的源密码是啥,他截获的是md5加密过的密文,这样就大大降低了社会学攻击。(解释一些,社会学攻击。大家习惯性将各个平台账号设置为一个或者几个密码,方便记忆,人家拿了你一个,就去试别的,Duang!爆炸了!)

2. 前端加密也有一定安全性。我们简单的加密,会被抓包,那我们可以将加密变得复杂一些。使这个直接抓包无法登陆,或者不容易登陆。

当密码足够简单,黑客可以很容易解密如下图:

探讨前端登录加密问题_第1张图片探讨前端登录加密问题_第2张图片

 

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

探讨前端登录加密问题_第3张图片

探讨前端登录加密问题_第4张图片'

所以得出前端采用http协议传输的,还是很有必要做前端密码加密。

你可能感兴趣的:(数据库)