0

我在 assets 文件夹中有一个名为“plants.json”的 .json 文件。
我需要对其进行加密,以便在反编译或逆向工程时没有人可以看到内容。

[
  {
    "plantId": "apple_id",
    "name": "Apple"
  }
]

我尝试使用Jetpack Encrypted File 加密文件。以下是我的代码:

val secretFile = File(filesDir, "plants")

        val encryptedFile = EncryptedFile.Builder(
            secretFile,
            applicationContext,
            MasterKeys.getOrCreate(MasterKeys.AES256_GCM_SPEC),
            EncryptedFile.FileEncryptionScheme.AES256_GCM_HKDF_4KB
        ).build()

现在,当我使用 Apk 分析器反编译 .apk 时,我的 .json 文件的内容是可见的。
PSB图像: 在此处输入图像描述

官方文档指出“Jetpack Security 包含一个 EncryptedFile 类,它消除了加密文件数据的挑战。”

但是,没有应用加密。我是不是错过了什么。
请指导。

4

1 回答 1

0

我错过了什么吗

Jetpack Security 加密设备上的文件。资产是您的开发机器上的文件——它不是设备上的文件,Jetpack Security 不会影响资产。

以下是我的代码

该代码在设备上创建一个文件,名为plants. 那不是资产,也没有命名plants.json。您可以通过 Android Studio 中的设备文件资源管理器工具查找此加密文件,以获取应用程序的可调试版本。

于 2021-10-12T13:44:49.250 回答