安全性登录模块开发

1.非安全性登录模块开发

安全隐患:
数据明文,数据库被荡下来不安全,不能明文存储数据明文,数据库被荡下来不安全,不能明文存储
明文传输,中间窃听,就关注传输过程的加密。wireshark

2.安全加固1

摘要处理:在MySQL中对数据摘要处理
sql语句:sha update userinfo(表名) set password = sha(password)

md5 update userinfo set password = MD5(password) 比sha短

在jsp中应用md5校验数据

if(p.equals(password)) ---> if(p.equals(DigestUtil.getMD5(password.getbytes))

缺点:容易根据密文位数推测算法,从而使用工具破解
真实密码相同,加密过的密码也相同

3.安全加固2

加盐: 在原有密码中加入其他成分(一般是用户自有且不变的因素),以此增加系统复杂度。
当这种盐和用户密码相结合后,再通过摘要处理,就能得到隐蔽更强的摘要值。

sql:update userinfo set password = sha(concat(password,email))

if(p.equals(password)) ---> if(p.equals(DigestUtil.getsha1(password+email).getbytes)))

缺点:(前两种)这些数据在发出去之前仍是没加密的,通过抓包仍是明文。

4.安全加固3

传输加密:在客户端进行md5的摘要处理,使用md5.js对表单加密(传输加密),在jsp中校验数据

这样,wireshark抓包后,就是密文了


重要代码明天补上

原文地址:https://www.cnblogs.com/christychang/p/5998858.html