難読化されたコードで機密文字列を隠す
機密情報を保護するためにコードを難読化するのは一般的な手法ですが、目の肥えた目であれば、依然として隠された文字列を発見することができます。機密データを効果的に隠すには、次の手法を検討してください。
エンコーディングと暗号化
目的がカジュアルな検査を阻止することである場合は、エンコーディングで十分です。 android.util.Base64 クラスは便利なメソッドを提供します。ただし、エンコードによるセキュリティは無視できます。
攻撃者に対する保護を強化するには、AES などの暗号を使用した対称暗号化をお勧めします。 javax.crypto.Cipher クラスは、その使用例を示しています。
手動の暗号化と復号化
次の手順に従って暗号化と復号化を手動で実装します。
サードパーティ DRM ソリューション
Google のライセンス サーバーなどのサードパーティ DRM ソリューションの使用を検討してください。これらは、セルフロール ソリューションに比べて潜在的なセキュリティ上の利点を提供しますが、それでも手動の暗号化と復号化と同様の制限があります。
R クラス文字列
で説明した R クラス文字列あなたのコードはリソースへの参照です。 ProGuard のような難読化ツールは、R クラス自体を難読化するのではなく、リソース ID への参照を難読化します。同じ番号を維持しますが、実際のリソースを指すマッピングを変更します。
この場合、2130903058 はレイアウト ファイルを参照します。逆コンパイルされた R クラスがなければ、それが表すリソースを直接取得することはできませんが、リソースのバイナリ データへのアドレスであることには変わりありません。
以上が機密文字列を難読化されたコードに隠すにはどうすればよいでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。