猿问

目前主流靠谱的登录密码加密流程是怎样的?

对于用户登录的密码验证的流程怎样靠谱?(不讨论关于https的通道加密)
1.前端明文传递密码到后端进行加密处理,对处理后的密文与数据库做对比返回结果;
2.前端对密码做加密处理传递密文到后端,后端对密文与数据库做对比返回结果;
3.前端对密码做加密处理传递密文到后端,后端解密后得到明文与数据库做对比返回结果;
4.前端对密码做加密处理传递密文1到后端,后端解密后再对明文做其他加密处理,后密文2与数据库做对比返回结果;
5.前端对密码做加密处理传递密文1到后端,后端再对密文1做二次加密处理,后密文2与数据库做对比返回结果;
6.其他恰当方式

考虑关于数据库泄露,数据传输过程中被截获等情景;
求详细流程;
另外请附带加密使用的算法,如RSA,MD5等.

青春有我
浏览 493回答 4
4回答

九州编程

前端加盐加密发送后端,后端继续加盐加密与数据库进行匹配。不需要解密。

小怪兽爱吃肉

有能力的,自己写一套加密算法,在前端对密码进行加密,加密过程的js打包/代码混淆,尽可能让人不能看出来算法。后端根据约定的算法解密。或者非对称加密的方式。后端提供一个接口动态返回一个公钥到前端,前端根据公钥进行加密。后端收到之后,利用私钥解密。你可以参考爱奇艺、优酷这类网站的登录流程。他们就是对密码进行加密之后,传输的。后端肯定是需要解密的,否则前端加密就没有任何意义了。

噜噜哒

前对对密码是不会加密的,基本都是sha256(salt + password)存储在数据库,每次前端传password过来,后端那算出来的哈希值和数据库的值进行对比验证 而且基于https传输秘钥没有问题,即使中间人攻击,拿到的也是密文
随时随地看视频慕课网APP

相关分类

Java
我要回答