在混淆程式碼中隱藏敏感資料
部署Android 應用程式時,您可能會遇到有關暴露敏感資料的問題,例如伺服器URL、在反編譯的程式碼中。 ProGuard 等混淆技術提供了一些保護,但可能無法有效隱藏所有字串。
字串加密和解碼
要解決此問題,請考慮實作自訂編碼或加密機制琴弦。對於基本的模糊性,您可以使用 android.util.Base64 類別。然而,這種方法提供的保護有限,因為它很容易被解碼。
要獲得更強的保護,請透過 javax.crypto.Cipher 類別使用加密。選擇 AES 等對稱密碼,並將加密金鑰安全地儲存在您的應用程式中。這種方法比安全性更繁瑣,因為金鑰可能會在 JAR 檔案中暴露。
修改程式碼以使用加密字串
修改程式碼以使用解密的字串敏感字串的版本而不是原始值。這通常涉及在啟動或初始化相關類別或物件時解密字串。範例:
之前:
<code class="java">public class Foo { private String mySecret = "http://example.com"; ... }</code>
之後:
<code class="java">public class Foo { private String encrypted = "..." // Manually created encrypted string private String key = "..."; // Encryption key private String mySecret = MyDecryptUtil.decrypt(encrypted, key); ... }</code>
替代解決方案
替代解決方案以上是如何在 Android 應用程式中安全地隱藏敏感資料:混淆就足夠了嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!