2

サーバーに接続するためのパスワードを非表示にする必要があります。問題は、パスワードがサービス プロバイダーによって提供されるため、静的であることです。

キーチェーンを使用することはすでに考えていましたが、問題は、これを使用する場合でも、コードのどこかにキーチェーンに挿入するためにパスワードをハードコーディングする必要があることです。

では、静的パスワードを非表示にしてアプリで使用できるようにし、コードに記述しないようにする方法はありますか?

4

3 に答える 3

1

アプリのユーザーとサービス プロバイダーの間に中間層サーバー (一種のプロキシ) を設定することを考えます。次のことが可能になります。

  • ユーザーごとに異なるパスワードを設定する
  • オプションで、ユーザーにパスワードを変更する機会を与える
  • 誰がサービスを使用し、どのデータが送信されるかをより詳細に制御できます
  • サービスプロバイダーからより独立してください(例:いつでも変更できます)

より多くの労力が必要になりますが、長期的にはより有利になる可能性があります。

于 2013-04-10T14:56:35.387 に答える
0

これは鍵と箱の問題です。鍵を毎回新しい箱に入れ続け、この鍵を新しい箱に隠し、これを続けることができます....しかし、最終的には常に最後の鍵を持っています. ...そしてそれを隠す場所はありません。

個人的には、キーチェーンのキーを難読化し、キーチェーン内の実際のキーを非表示にします。それが本当に重要な秘密である場合は、AES を使用してキーを暗号化できますが、暗号化キーを使い続けることができます。ここでは、ハードコードされた値の代わりにデバイス固有のものを使用して、そのプロパティからキーを生成できます。

確かに完璧ではありませんが、ほとんどの場合はうまくいきます。

于 2013-04-10T14:51:11.500 に答える