AndroidX加密库,加密后无法保存文件

问题描述 投票:1回答:1

我正在使用androidx.security.crypto库来加密文本文件。我是following the docs here

val keyGenParameterSpec = MasterKeys.AES256_GCM_SPEC
        val masterKeyAlias = MasterKeys.getOrCreate(keyGenParameterSpec)
        val secretFile = File("/storage/sdcard0/DCIM/Camera/testfile.txt", "super_secret")
        val encryptedFile = EncryptedFile.Builder(
                secretFile,
                applicationContext,
                masterKeyAlias,
                EncryptedFile.FileEncryptionScheme.AES256_GCM_HKDF_4KB)
                .setKeysetAlias("file_key1") //this is optional
                .setKeysetPrefName("secret_shared_prefs1") //this is optional
                .build()
    }

加密后,如何将其保存到文件中?

android encryption androidx fileoutputstream
1个回答
0
投票

取自Android Cryptography,您将构建一个加密文件,如代码示例所示,然后使用FileOutputStream方法获得一个openFileOutput()。您可以像普通的FileOutputStream一样使用它,也可以使用OutputStreamWriter或类似的东西。从Java的website

// Write to a file.
BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(
    encryptedFile.openFileOutput()));
writer.write("MY SUPER-SECRET INFORMATION");

或在科特林:

// Write to a file.
encryptedFile.openFileOutput().bufferedWriter().use {
    it.write("MY SUPER-SECRET INFORMATION")
}
© www.soinside.com 2019 - 2024. All rights reserved.