本人非职业程序员,没有接触过大型项目,所以对这些加密要求不是很懂,望解答
想要实现一个登录逻辑:
App 内用户输入密码 -->Post 到 API 接口-->后端查询数据库验证密码
想请问下中间的两次传输时应该使用哪种级别的加密,以及在数据库里面存储时又该使用哪种加密
App 到 api 接口使用的是 https 协议,是否可以直接明文传输密码或者简单地 based64 编码就传出去?
API 到数据库的读写是本地的,已经启用了 ssl,这一块不考虑加密
在数据库里面存储的时候肯定不能是明文的,我考虑的是 AES-256 加密
现在的问题就是采用哪种方案比较合适
传输过程全部都是安全的( https 和 ssl)加密主要考虑的是客户端被反编译和数据库被攻破的危险 多谢各位
![]() | 1 luckyrayyy 2021-08-02 18:49:17 +08:00 前端到后端既然是 https 明文就行,base64 毫无意义。 |
![]() | 2 luckyrayyy 2021-08-02 18:50:13 +08:00 另外后端可以加个盐 |
![]() | 3 xiangyuecn 2021-08-02 18:57:16 +08:00 |
![]() | 4 sutra 2021-08-02 19:01:45 +08:00 数据库存储用 bcrypt 吧。你用 AES-256 的话,密钥泄漏了,就能解密出密码了。 |
![]() | 5 chinvo 2021-08-02 19:12:52 +08:00 via iPhone @xiangyuecn #3 前端加密没卵用, 前端哈希降低密码可靠性. |
![]() | 6 chinvo 2021-08-02 19:14:18 +08:00 via iPhone @xiangyuecn #3 日志脱敏应该靠日志审计, 而不是通过牺牲密码可靠性来实现. |
![]() | 7 heiheidewo 2021-08-02 19:23:08 +08:00 前端计算 hash 传给后端,后端再用另外一个算法去 hash 比对,https 也要防止下中间人攻击啊 |
![]() | 8 cmdOptionKana 2021-08-02 19:34:28 +08:00 @heiheidewo https 本身就是专门用来防中间人攻击的吧? |
![]() | 9 akira 2021-08-02 21:16:47 +08:00 |
![]() | 10 hushao 2021-08-02 21:41:29 +08:00 想问下,https 情况下,不关心爬虫的话,前端加密与否有什么区别吗? 当然前端也加密肯定更安全。 |
![]() | 11 Te11UA 2021-08-03 08:28:15 +08:00 上 HTTPS 的确可以裸奔,国外大厂基本如此 |