-
public final class EncryptedFileClass used to create and read encrypted files. WARNING: The encrypted file should not be backed up with Auto Backup. When restoring the file it is likely the key used to encrypt it will no longer be present. You should exclude all
EncryptedFiles from backup using backup rules. Be aware that if you are not explicitly callingsetKeysetPrefName()there is also a silently-created default preferences file created at
This preferences file (or any others created with a custom specified location) also should be excluded from backups. Basic use of the class:ApplicationProvider .getApplicationContext() .getFilesDir() .getParent() + "/shared_prefs/__androidx_security_crypto_encrypted_file_pref__"
Based on EncryptedFile.java from AndroidX Crypto - v1.1.0-alpha07MasterKey masterKey = new MasterKey.Builder(context) .setKeyScheme(MasterKey.KeyScheme.AES256_GCM) .build(); File file = new File(context.getFilesDir(), "secret_data"); EncryptedFile encryptedFile = EncryptedFile.Builder( context, file, masterKey, EncryptedFile.FileEncryptionScheme.AES256_GCM_HKDF_4KB ).build(); // write to the encrypted file FileOutputStream encryptedOutputStream = encryptedFile.openFileOutput(); // read the encrypted file FileInputStream encryptedInputStream = encryptedFile.openFileInput();Permalink: e50caac
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description public enumEncryptedFile.FileEncryptionSchemeThe encryption scheme to encrypt files.
public final classEncryptedFile.BuilderBuilder class to configure EncryptedFile
-
Method Summary
Modifier and Type Method Description FileOutputStreamopenFileOutput()Opens a FileOutputStream for writing that automatically encrypts the data based on theprovided settings. FileInputStreamopenFileInput()Opens a FileInputStream that reads encrypted files based on the previous settings. -
-
Method Detail
-
openFileOutput
@NonNull() FileOutputStream openFileOutput()
Opens a FileOutputStream for writing that automatically encrypts the data based on theprovided settings.
Please ensure that the same master key and keyset are used to decrypt or it will causefailures.
-
openFileInput
@NonNull() FileInputStream openFileInput()
Opens a FileInputStream that reads encrypted files based on the previous settings.
Please ensure that the same master key and keyset are used to decrypt or it will causefailures.
-
-
-
-