ブロックサイズ128ビットとキーサイズ256文字(バイト)のAESアルゴリズムを使用してJavaでファイルを暗号化することはできますか?Java AES 128(256文字のキーサイズ)
によると、キーサイズは最大256ビットまたは32文字です。
私は256文字で対応する必要がありますか?
ブロックサイズ128ビットとキーサイズ256文字(バイト)のAESアルゴリズムを使用してJavaでファイルを暗号化することはできますか?Java AES 128(256文字のキーサイズ)
によると、キーサイズは最大256ビットまたは32文字です。
私は256文字で対応する必要がありますか?
AESは128ビットの1ブロックサイズと、128,192 & 256ビットの3つのキーサイズを持っています。
エンコードに応じた文字が1バイト以上の場合は、PBKDF2(Password Based Key Derivation Function 2)などのキー導出メソッドを使用して文字からキーを派生させることができます。
質問へのコメントを参照してください。
キーの導出を使用します。 –
確かに、MessageDigestを使ってパスワードをハッシュし、ダイジェスト結果から必要なだけ多くのビットを取ることができます。 –
鍵を派生させるためにMessageDigestを使用しないでください。十分ではなく、単にsaltを追加するだけでセキュリティを向上させることはほとんどありません。代わりに、約100msの持続時間の間、ランダムな塩でHMACを繰り返し、塩をハッシュで保存してください。 'PBKDF2'(別名' Rfc2898DeriveBytes')、 'password_hash' /' password_verify'、 'Bcrypt'などの関数を使用してください。要点は、攻撃者が無差別にパスワードを見つけるのに多くの時間を費やすことです。ユーザーを保護することが重要です。安全なパスワード方法を使用してください。ありがとうございます。@ azph。 – zaph