2011-06-25 5 views
0

複数のデフォルトパスワードを保存する必要があるアンドロイドアプリを開発しています。異なるパスワードをアンドロイドに保存する

入力されたパスワードに基づいて、ユーザーには異なる書式が表示されます。

デフォルトのパスワードの数が10〜20個の場合、デフォルトのパスワードを保存する最適なソリューションは何ですか?

+0

「ベスト」とはどういう意味ですか? – Mat

+0

使用する暗号化の種類を知りたいですか? –

答えて

2

私は2つの可能性を参照してください。

  • ハッシュ(!一緒に塩と)すべてのパスワードを、通常のSQLiteデータベースにハッシュを格納します。ユーザーがパスワードを入力するたびに、ハッシュ(塩で)を生成し、データベースにパスワードハッシュが含まれているかどうかを調べます。いいえ、正しいパスワードはありませんでした。はいの場合は、一致したパスワードを確認し、正しいフォームアクティビティに転送できます。ユーザーがパスワードを入力したときに実行されるハッシュは1つだけなので、低速ハッシュアルゴリズムを使用できます。
  • パスワードは(AES-)暗号化データベースに格納するか、通常の暗号化されていないデータベースに暗号化形式で格納します。比較を容易にするために、保存されたパスワードのプレーンテキスト形式をいつでも計算できます。このアプローチでは、アプリケーション内に秘密情報(キーまたはパスフレーズ)を格納する必要があります(または毎回サーバーから取得する必要があります)。逆コンパイルによって簡単に取得できます。機密パスワードまたは機密データを保護する場合、それは無事になるでしょう。

私は最初の可能性を好むでしょう。また、私はハッシュアルゴリズムとして共通のMD5を使用しませんが、SHA-512以上、さらにはbcryptを使用します。ここでは、Androidでそれを行う理由と方法を説明する良いスレッドがあります:Stackoverflow-Thread基本的には、誰かがsqliteデータベースを取得することを考慮する必要があります。高速ハッシュアルゴリズム(MD5など)が採用されている場合は、弱いパスワード(虹のテーブルの助けを借りて)を見つけるのが非常に簡単です。パスワード塩は助けになりますが、google attacksに対してのみ役立ちます。 Bcryptハッシュ(+ salt!)は生成するのがずっと遅く(これは良い)、弱いパスワードでさえ解読しにくい。

0

アンドロイドには多数の保存オプションがあります。 this

データが限られている場合は、環境設定を行うことができます。

関連する問題