サーバーに接続するためのパスワードを非表示にする必要があります。問題は、パスワードがサービス プロバイダーによって提供されるため、静的であることです。
キーチェーンを使用することはすでに考えていましたが、問題は、これを使用する場合でも、コードのどこかにキーチェーンに挿入するためにパスワードをハードコーディングする必要があることです。
では、静的パスワードを非表示にしてアプリで使用できるようにし、コードに記述しないようにする方法はありますか?
サーバーに接続するためのパスワードを非表示にする必要があります。問題は、パスワードがサービス プロバイダーによって提供されるため、静的であることです。
キーチェーンを使用することはすでに考えていましたが、問題は、これを使用する場合でも、コードのどこかにキーチェーンに挿入するためにパスワードをハードコーディングする必要があることです。
では、静的パスワードを非表示にしてアプリで使用できるようにし、コードに記述しないようにする方法はありますか?
アプリのユーザーとサービス プロバイダーの間に中間層サーバー (一種のプロキシ) を設定することを考えます。次のことが可能になります。
より多くの労力が必要になりますが、長期的にはより有利になる可能性があります。
これは鍵と箱の問題です。鍵を毎回新しい箱に入れ続け、この鍵を新しい箱に隠し、これを続けることができます....しかし、最終的には常に最後の鍵を持っています. ...そしてそれを隠す場所はありません。
個人的には、キーチェーンのキーを難読化し、キーチェーン内の実際のキーを非表示にします。それが本当に重要な秘密である場合は、AES を使用してキーを暗号化できますが、暗号化キーを使い続けることができます。ここでは、ハードコードされた値の代わりにデバイス固有のものを使用して、そのプロパティからキーを生成できます。
確かに完璧ではありませんが、ほとんどの場合はうまくいきます。