我在我的應用程序中使用yandex和google翻譯,當然有唯一的API密鑰,但是每個人都可以通過反編譯我的應用程序來竊取它。我怎樣才能隱藏它?如何隱藏android中的翻譯器API密鑰
4
A
回答
1
如果我是你,我會租用一臺服務器(也許亞馬遜)和創建一個數據庫,並插入我們用簡單的加密字符串的API密鑰(哈希等)。
ID - Name - androidKey - key
1 - GoogleAPI - AJKBSASHUA9 - yourAPIKey
2 - YandexAPI - 5A6S5D6A53C - yourAPIKey
.
.
.
然後你就可以創建一個由你的Android的packageName運行服務;
http://example.com/API/getAPIKey/
?packageName="yourPackageName"
&androidKey="AJKBSASHUA9"
如果您使用POST方法是爲你的安全。
1
簡而言之,您無法在應用程序內部或內部的APK中執行此操作。如果有人想得到它,他們會得到它。
- 你要破譯它們,我會在應用程序中找到密鑰。
- 你要把它們放到網上並在安裝後取出它們,我將根據我的手機取得它們。
你爲什麼要隱藏在首位,他們與你的[發佈|調試]的SHA1指紋分配密鑰庫和你的包的名字,沒有人可以有你的釋放密鑰庫和密碼。
1
雖然您可能無法達到150%的安全性,但您可能需要在應用程序中採取措施來減緩可能的攻擊者。這會導致他們中的一些人不願意利用你的應用程序,僅僅因爲它不值得付出努力。
OWASP移動安全項目發佈了他們的收集"Top Ten Mobile Risks",其中特別是「Broken Cryptography」和「缺乏二進制保護」這兩個主題在你的案例中很有趣。雖然這個鏈接並沒有爲你提供一個簡單的「如何」,但我認爲它可以幫助你評估你的情況。
相關問題
- 1. 如何隱藏我的Google翻譯API密鑰?
- 2. 如何隱藏API密鑰Android中
- 3. YouTubePlayer - 如何隱藏/加密API密鑰?
- 4. 從瀏覽器中隱藏API密鑰
- 5. 如何隱藏我的Dropbox API密鑰
- 6. 如何隱藏Steam Web API密鑰?
- 7. 隱藏Carto Sql Api密鑰?
- 8. 隱藏代碼中的API密鑰(Python)
- 9. 在源代碼中隱藏API密鑰
- 10. Jekyll Contentful,如何隱藏配置文件中的api密鑰?
- 11. 如何隱藏客戶端JavaScript中的API密鑰
- 12. 從客戶端隱藏API密鑰
- 13. 從第三方隱藏API密鑰?
- 14. 爲Github頁面隱藏api密鑰
- 15. 如何在AJAX請求中隱藏api密鑰
- 16. Java中的i18n - 翻譯密鑰枚舉/未使用的密鑰
- 17. Android翻譯API
- 18. 如何使用Sinatra gem與Ruby隱藏API密鑰
- 19. 如何使用Windows環境變量隱藏API密鑰?
- 20. 如何將代碼推送到Github隱藏API密鑰?
- 21. 如何在android中加密或隱藏我的api網址?
- 22. 祕密密鑰的隱藏值Air app
- 23. 在Android應用程序中隱藏加密密鑰
- 24. 正確的方法來隱藏Git中的API密鑰
- 25. 如何使用角度$ translate翻譯特定語言的密鑰翻譯
- 26. 如何在C++中隱藏我的AWS S3訪問密鑰和密鑰?
- 27. 在iOS的公共github回購中隱藏API密鑰
- 28. 保留隱藏在WordPress插件中的API密鑰
- 29. Angularjs在代碼隱藏中翻譯
- 30. C#WinForms隱藏加密密鑰
md5不是加密,而是散列。 –