2012-01-23 15 views
3


私はAndroidアプリケーションを持っており、その中にhtpps経由で送信する文字列がいくつかあります。 Androidアプリケーションのハードコードされた文字列(パスワードなど)をapkファイルから読み取れないように暗号化することは可能ですか?私が正しくあなたの質問を理解していれば
よろしく、文字列を暗号化しています

答えて

2

だから、あなたは(例えばstrings.xml中)のAndroid APKファイル内の暗号化された文字列を格納します。これが当てはまる場合は、暗号化された文字列をどこにでも保存することができます。

これらの文字列を復号化するには、キーが必要です。どこに鍵を格納しても、このチェーンの弱いリンクになります。あなたのアプリがリバースエンジニアリングされ、誰かがキーを持っていれば、あなたのストリングは暗号化されなくなります。

あなたの質問に答えるには、いいえ、必要なことをすることはできません。

+0

偉大な答え。 Bruce Schneier氏は次のように述べています。「鍵管理は暗号化の最も難しい部分であり、しばしば安全なシステムのアキレス腱です。これはまさにここのケースです。 – Tiago

0

この文字列で何をしたいのか説明してください。 サーバーにパスワードを送信して何らかの承認を行うだけの場合は、MD5などのハッシュ関数を使用してthode値を隠すことができます。ハッシュされたパスワードは、サーバー側でハッシュされたパスワードと比較することができます。 暗号化されたテキストを受信側で復号化する場合は、暗号化アルゴリズムを使用する必要があります。 DES(何らかの種類の暗号化キーが必要になります)。

+0

私はサーバー上に、ユーザー名とパスワードで保護されたPHPスクリプトのフォルダを持っています。私はAndroidのアプリからスクリプトを実行するためにこれらの値をhttpsで送信しています。問題はもちろん、私のapkファイルに純粋な形で存在するので、誰もが目の瞬きでそれらを読むことができます。 – cplusogl

1

What is the most appropriate way to store user settings in Android applicationと他の質問の全体をチェックしてください。基本的に難読化して暗号化して拡張することもできますが、ルーツを持つデバイスやネットワークスニッフィング攻撃に対して完全に安全ではありません。それはどこにでも当てはまると言われています。実装しようとする努力のレベルと保護しているデータとの間で最良の妥協点を見いだします。

関連する問題