我们如何加密 android 中的特定 file/folder?
How can we encrypt a specific file/folder in android?
我正在 android 根数据中创建一个文件,
File myDir;
myDir = new File(cw.getDir("", Context.MODE_PRIVATE).getPath() + File.separator + "New_Folder");
if (!myDir.exists())
{
myDir.mkdirs();
}
else
{
Log.e("ASA9", "File Already Created.");
}
我可以加密那个文件吗?
或者我可以输入密码吗?
查看 android 的官方文档来执行此操作。
https://developer.android.com/reference/androidx/security/crypto/EncryptedFile
String masterKeyAlias = MasterKeys.getOrCreate(MasterKeys.AES256_GCM_SPEC);
File file = new File(context.getFilesDir(), "secret_data");
EncryptedFile encryptedFile = EncryptedFile.Builder(
file,
context,
masterKeyAlias,
EncryptedFile.FileEncryptionScheme.AES256_GCM_HKDF_4KB
).build();
// write to the encrypted file
FileOutputStream encryptedOutputStream = encryptedFile.openFileOutput();
// read the encrypted file
FileInputStream encryptedInputStream = encryptedFile.openFileInput();
您还必须在 android build.gradle 文件中添加此依赖项
dependencies {
implementation "androidx.security:security-crypto:1.0.0-rc02"
}
我正在 android 根数据中创建一个文件,
File myDir;
myDir = new File(cw.getDir("", Context.MODE_PRIVATE).getPath() + File.separator + "New_Folder");
if (!myDir.exists())
{
myDir.mkdirs();
}
else
{
Log.e("ASA9", "File Already Created.");
}
我可以加密那个文件吗?
或者我可以输入密码吗?
查看 android 的官方文档来执行此操作。
https://developer.android.com/reference/androidx/security/crypto/EncryptedFile
String masterKeyAlias = MasterKeys.getOrCreate(MasterKeys.AES256_GCM_SPEC);
File file = new File(context.getFilesDir(), "secret_data");
EncryptedFile encryptedFile = EncryptedFile.Builder(
file,
context,
masterKeyAlias,
EncryptedFile.FileEncryptionScheme.AES256_GCM_HKDF_4KB
).build();
// write to the encrypted file
FileOutputStream encryptedOutputStream = encryptedFile.openFileOutput();
// read the encrypted file
FileInputStream encryptedInputStream = encryptedFile.openFileInput();
您还必须在 android build.gradle 文件中添加此依赖项
dependencies {
implementation "androidx.security:security-crypto:1.0.0-rc02"
}