我们如何加密 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"
}