本人非职业程序员,没有接触过大型项目,所以对这些加密要求不是很懂,望解答
想要实现一个登录逻辑:
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 的确可以裸奔,国外大厂基本如此
|