私はAndroidアプリケーションを持っており、その中にhtpps経由で送信する文字列がいくつかあります。 Androidアプリケーションのハードコードされた文字列(パスワードなど)をapkファイルから読み取れないように暗号化することは可能ですか?私が正しくあなたの質問を理解していれば
よろしく、文字列を暗号化しています
答えて
だから、あなたは(例えばstrings.xml
中)のAndroid APKファイル内の暗号化された文字列を格納します。これが当てはまる場合は、暗号化された文字列をどこにでも保存することができます。
これらの文字列を復号化するには、キーが必要です。どこに鍵を格納しても、このチェーンの弱いリンクになります。あなたのアプリがリバースエンジニアリングされ、誰かがキーを持っていれば、あなたのストリングは暗号化されなくなります。
あなたの質問に答えるには、いいえ、必要なことをすることはできません。
この文字列で何をしたいのか説明してください。 サーバーにパスワードを送信して何らかの承認を行うだけの場合は、MD5などのハッシュ関数を使用してthode値を隠すことができます。ハッシュされたパスワードは、サーバー側でハッシュされたパスワードと比較することができます。 暗号化されたテキストを受信側で復号化する場合は、暗号化アルゴリズムを使用する必要があります。 DES(何らかの種類の暗号化キーが必要になります)。
私はサーバー上に、ユーザー名とパスワードで保護されたPHPスクリプトのフォルダを持っています。私はAndroidのアプリからスクリプトを実行するためにこれらの値をhttpsで送信しています。問題はもちろん、私のapkファイルに純粋な形で存在するので、誰もが目の瞬きでそれらを読むことができます。 – cplusogl
What is the most appropriate way to store user settings in Android applicationと他の質問の全体をチェックしてください。基本的に難読化して暗号化して拡張することもできますが、ルーツを持つデバイスやネットワークスニッフィング攻撃に対して完全に安全ではありません。それはどこにでも当てはまると言われています。実装しようとする努力のレベルと保護しているデータとの間で最良の妥協点を見いだします。
- 1. 暗号化プログラムは暗号化のために奇妙な文字列を返しますが、復号化後は正しい文字列を返します
- 2. 暗号化/復号化方法に暗号化された文字列に '/'が含まれていない
- 3. 配列を文字列として暗号化する
- 4. Java文字列を暗号化
- 5. 長い文字列をXOR C暗号で暗号化できません
- 6. OpenSSL ECCを使用してテキスト文字列を暗号化/復号化する
- 7. 暗号化は元の文字列と同じ文字列を返します
- 8. 同じ文字列を異なる文字列に暗号化しますか?
- 9. エンティティフレームワークの暗号化接続文字列
- 10. Elasticserch 2.3.5文字列値の暗号化
- 11. 接続文字列の暗号化
- 12. Cでの文字列の暗号化
- 13. Android SDKの文字列の暗号化
- 14. NodeJSのBlowfishで暗号化文字列
- 15. 暗号化SQL接続文字列
- 16. C#とObjectiveの文字列暗号化
- 17. 文字列暗号化の問題
- 18. Linuxでの文字列暗号化
- 19. クロスプラットフォームの文字列の暗号化
- 20. php7を使用してsaltで暗号化/復号化する文字列
- 21. codeigniter暗号化/復号化関数が空の文字列を返します
- 22. JavaScript文字列の暗号化と復号化ですか?
- 23. grailsのクエリ文字列paramsを暗号化します
- 24. ASP.Net Web.configのデータベース接続文字列を暗号化します
- 25. SwiftでRSAを使用して文字列を暗号化
- 26. クエリ文字列パラメータの暗号化/復号化?シルバーライトのUsabe?
- 27. RSA暗号化/復号化:文字列に変換
- 28. ジェネリックハンドラでJavascriptと復号化のクエリ文字列暗号化
- 29. ATOM-128文字列の暗号化/復号化(アンドロイドスタジオ)
- 30. RoRクエリ文字列の暗号化と復号化
偉大な答え。 Bruce Schneier氏は次のように述べています。「鍵管理は暗号化の最も難しい部分であり、しばしば安全なシステムのアキレス腱です。これはまさにここのケースです。 – Tiago