如您所知,在 Android 中,有一个作为ANDROID_ID
用户函数在操作系统深处生成的特定唯一标识符,即应用程序签名的应用程序 ID。检索通过:
import android.provider.Settings.Secure;
private String android_id = Secure.getString(getContext().getContentResolver(),
Secure.ANDROID_ID);
一般来说,它被认为是识别特定设备的相当可靠的方法,该设备只能由应用程序本身访问 - 第三方软件包(当然在正常情况下)无法访问它。通常并且经常使用它,将其用作加密密钥(加盐后等)
更重要的是:有一个常规的 Android 应用程序,其中该密钥用作加密密钥。决定在 KMP(Android + JVM + WASM + iOS)下重写应用程序。
注意:为这些平台生成/使用密钥/标识符有哪些选项?嗯,也就是说,我们有:
expect fun getUniqueId(any: Any): String
我们期待:
actual fun getUniqueId(any: Any): String = ???
如果可能的话,那就不用传统的火焰:为什么你需要它ANDROID_ID
作为钥匙,等等。