对于用户登录的密码验证的流程怎样靠谱?(不讨论关于https的通道加密)1.前端明文传递密码到后端进行加密处理,对处理后的密文与数据库做对比返回结果;2.前端对密码做加密处理传递密文到后端,后端对密文与数据库做对比返回结果;3.前端对密码做加密处理传递密文到后端,后端解密后得到明文与数据库做对比返回结果;4.前端对密码做加密处理传递密文1到后端,后端解密后再对明文做其他加密处理,后密文2与数据库做对比返回结果;5.前端对密码做加密处理传递密文1到后端,后端再对密文1做二次加密处理,后密文2与数据库做对比返回结果;6.其他恰当方式
考虑关于数据库泄露,数据传输过程中被截获等情景;求详细流程;另外请附带加密使用的算法,如RSA,MD5等.
4 回答
小怪兽爱吃肉
TA贡献1852条经验 获得超1个赞
有能力的,自己写一套加密算法,在前端对密码进行加密,加密过程的js打包/代码混淆,尽可能让人不能看出来算法。后端根据约定的算法解密。
或者非对称加密的方式。后端提供一个接口动态返回一个公钥到前端,前端根据公钥进行加密。后端收到之后,利用私钥解密。
你可以参考爱奇艺、优酷这类网站的登录流程。他们就是对密码进行加密之后,传输的。
后端肯定是需要解密的,否则前端加密就没有任何意义了。
噜噜哒
TA贡献1784条经验 获得超7个赞
前对对密码是不会加密的,基本都是sha256(salt + password)存储在数据库,每次前端传password过来,后端那算出来的哈希值和数据库的值进行对比验证
而且基于https传输秘钥没有问题,即使中间人攻击,拿到的也是密文
添加回答
举报
0/150
提交
取消