0

情報を難読化するためのキーを生成しています。

そのキーはデバイス間で変更する必要があるため、私が使用していた世代では次のようになります。

  • Secure.getString(getContentResolver(), Secure.ANDROID_ID)
  • TelephonyManager.getSimSerialNumber()
  • TelephonyManager.getDeviceId()
  • 上記のすべてのオプションが有効な場合に生成されるランダム永続文字列null

しかし、テストしたところ、デバイスの SIM によってTelephonyManager.getSimSerialNumber()が変更されるため (機内モードでは常に null が返されるため)、キーも変更され、難読化されたデータを復元できないことがわかりました。

私の質問は次のとおりです: TelephonyManager.getDeviceId()は常に同じ値を返しますか (null または値ですが、常に同じ結果になります)?

注:テストしたところ、「機内モード」でも有効な値が返されました

4

1 に答える 1

1

問題のデバイスがルート化されていないと仮定すると(ユーザーはデバイスの一意の文字列のほとんどを変更できるため) TelephonyManager.getDeviceId() は GSM ネットワーク上の IMEI 番号を返す必要があります - これは SIM ではなくハンドセットにリンクされているため、それは変わりません。

于 2013-02-14T17:12:54.927 に答える