webapp登录注册时的密码处理思考

webapp在登录的时候怎么控制登录的安全性?

目前通过https都可以解决这个问题。使用https自动加密传输的数据,从而解决传输密码明文的问题。然后在存储到数据库前通过md5或者其他加密算法进行加密。

#加盐

不建议只对密码单纯通过加密算法加密,因为存在彩虹表的关系。
通常需要对密码加盐,然后进行几次不同加密算法的加密。

1
2
// 加盐也就是给原密码添加字符串,增加原密码长度
sha256(sha1(md5(salt + password + salt)))

但是加盐并不能阻止别人盗取账号,只能确保即使数据库泄露,也不会暴露用户的真实密码。一旦攻击者得到了用户的账号,可以通过暴力破解的方式破解密码。对于这种情况,通常使用验证码增加延时或者限制尝试次数的方式。并且一旦用户输入了错误的密码,也不能直接提示用户输错密码,而应该提示账号或密码错误。

摘自:interviewmap

不采用http的才使用前端加密后端解密的方式。

题外话:不加https的网站我不用,没有安全锁标志的不用!!! ╭(╯^╰)╮