Rijndael アルゴリズムを使用すると、構成ファイル (または構成ファイル内のセクション) を暗号化し、Java でそのファイルを復号化できますか? 次のような仮定を立てることができます。
- IV を渡す (自動生成されたアイデア :: GenerateIV(); ではない)
- キーを渡す
- BlockSize は 128 (標準)
これができると仮定すると、これに関する私の次の質問は次のようになります。
- keySize を 256 にすることはできますか? 128 が AES であることはわかっていますが、256 を使用したいと考えています。また、Java に 256 用のプロバイダーがあるかどうか、または BouncyCastle を使用する必要があるかどうかもわかりません。
- パディングとは何ですか?PKCS7?
- CiperMode は CBC になると思います
C#でこんな感じ?しかし、Javaで解読できるかどうかはわかりません...おそらく私のc#でさえ間違っていますか?
public static void initCrypt()
{
byte[] keyBytes = System.Text.UTF8Encoding.UTF8.GetBytes("abcdefghijklmnop");
rijndaelCipher = new RijndaelManaged();
PasswordDeriveBytes pdb = new PasswordDeriveBytes(keyBytes, new SHA1CryptoServiceProvider().ComputeHash(keyBytes));
byte[] key = pdb.GetBytes(32);
byte[] iv = pdb.GetBytes(16);
rijndaelCipher.Mode = CipherMode.CBC;
rijndaelCipher.Padding = PaddingMode.PKCS7; //PaddingMode.PKCS7 or None or Zeros
rijndaelCipher.KeySize = 256; //192, 256
rijndaelCipher.BlockSize = 128;
rijndaelCipher.Key = keyBytes;
rijndaelCipher.IV = iv;
}