本人非职业程序员,没有接触过大型项目,所以对这些加密要求不是很懂,望解答
想要实现一个登录逻辑:
App 内用户输入密码 -->Post 到 API 接口-->后端查询数据库验证密码
想请问下中间的两次传输时应该使用哪种级别的加密,以及在数据库里面存储时又该使用哪种加密
App 到 api 接口使用的是 https 协议,是否可以直接明文传输密码或者简单地 based64 编码就传出去?
API 到数据库的读写是本地的,已经启用了 ssl,这一块不考虑加密
在数据库里面存储的时候肯定不能是明文的,我考虑的是 AES-256 加密
现在的问题就是采用哪种方案比较合适
- App 明文传输到 API 接口,后端与数据库中 AES-256 加密数据进行对比返回结果
- APP 上实现 AES-256,直接传输到 API 和数据库进行字符串比较就行(即服务端不负责加解密,直接用客户端床底的数据和数据库数据进行对比)
- 在客户端实现一种不同的加密,把密文发送到后端,后端解密数据库和客户端的密文,在后端进行解密后的明文比较
传输过程全部都是安全的( https 和 ssl)加密主要考虑的是客户端被反编译和数据库被攻破的危险 多谢各位