【发布时间】:2015-05-22 16:03:20
【问题描述】:
我做所有process to encrypt database of android: 设置>安全>加密手机
然后我尝试获取我的 android 数据库
$ adb shell
$ run-as com.your.package cat /data/data/com.your.package/databases/your_db > /storage/sdcard0/Download/your.db
结果是我所有的数据都没有加密......
我再次测试并重新安装我的应用程序,然后再次获取我的数据库,所有数据都保持未加密...
我需要做什么,加密我的数据库(无代码),以及如何检查这些加密数据?
---已编辑---
如果我使用此代码测试加密,我会返回“true”,但我仍然可以访问 .db 并读取所有信息...
@SuppressLint("NewApi")
public static boolean isEncrypted(Context context) {
DevicePolicyManager devicePolicyManager = (DevicePolicyManager) context
.getSystemService(Context.DEVICE_POLICY_SERVICE);
if (Build.VERSION.SDK_INT > Build.VERSION_CODES.HONEYCOMB) {
int status = devicePolicyManager.getStorageEncryptionStatus();
if (DevicePolicyManager.ENCRYPTION_STATUS_ACTIVE == status) {
return true;
}
}
return false;
}
【问题讨论】:
标签: android sqlite encryption