不怎么写技术博客的人,开始是一件比较难的事情;还有一开始可能写的不是很有营养,都是工作遇到的问题,
然后查问google现整理如下,方便自己以后查阅
前两天有同事问我关于android 7.0 及以上版本AccountManager的存储问题,问我为何会有ce和de两个目录,分别是用什么加密之类的问题(android7.0刚发布的时候调查过,现重新调查整理下来必备后需)
由于android7.0引入了FBE(File-Based Encryption):可以使用不同的密钥对不同的文件进行加密,并且可以对这些文件进行单独解密(具体参考文档:https://source.android.com/security/encryption/file-based)
在启用了FBE的设备,每个用户都有两个可供应用使用的存储位置:
- CE(credential encryption)凭据加密存储空间:默认存储空间,只有在用户解锁设备后才可用
- DE(device encryption)设备加密存储空间:在direct root模式下以及用户解锁设备后均可用
注:direct root表示当前设备已经开机但用户尚未解锁设备,android N版本引入此安全模式;如果您的应用需要在direct root模式下运行时需要访问数据,则使用DE存储。DE存储包含使用密钥加密数据,仅在设备已成功执行验证启动后密钥才可用。
直接启动(direct root)