2011-12-23 7 views
0

私はいくつかのiOSプログラムを作成しようとしている非常に新しいプログラマーです。私はデータを暗号化する必要がある部分に到達したとき、霧と不公平な文書の壁に遭遇しました。 Appleは明らかに、データを暗号化するために必要なすべてのツールを提供していますが、どこにでも書き込むことはありません。現在、私はhttps://github.com/AlanQuatermain/aqtoolkitにあるものを試していますが、これは明らかに機能します。しかし、私はhttp://robnapier.net/blog/aes-commoncrypto-564で、ユーザーが選択したパスワードを暗号化キーとして使用すべきではないことを読んだが、このライブラリなどで直接ユーザーのパスワードを使用している人の例を見てきた。これはここに当てはまりますか?それを使用する前に小さなハードルでユーザーパスワードを実行する必要がありますか?iOSでの暗号化についての混乱

+0

ありがとうございます。私はその文書を見逃した。 – Serendipity

答えて

2

暗号化ルーチンのキーとしてパスワードのハッシュを使用することをお勧めします。その理由の1つは、異なるアルゴリズムでは異なる長さのキーが必要であり、適切なハッシュアルゴリズム(たとえばAES256の場合はSHA256)を選択すると、適切な長さのキーが自動的に取得されるということです。

+0

すばらしい答えをありがとう。コードやハッシュ関数の例はどこにありますか?それとも私は自分自身を書くことを見なければならないものですか? (私が本当にばかげて聞こえる場合は、おそらく私がこの点にあるからです) – Serendipity

+0

あなたが言及したライブラリは、ハッシングのための簡単な方法を提供します。 https://github.com/AlanQuatermain/aqtoolkit/blob/master/CommonCrypto/NSData+CommonCrypto.hを見てください。 – zlajo

+0

私は現在、AES256EncryptedDataUsingKey:@ "でデータを暗号化しています。明らかに間違っている" etc "がありますが、.hではハッシュ関数を使用することはできません。どうか説明してください。 – Serendipity