現在、次のコードがあります。
byte array
ハードコードされた random から を生成していstring
ます。
Rijndael
クラスを設定するときに、キー値を設定するときにアプリケーションがクラッシュすることに気付きました。キー値が設定されているときにクラッシュする理由に関する提案。
int olength = 18;
string HKey = "ABCDEFGHIJKL111100002222"; //Some random string
byte[] key = Convert.FromBase64String(HardcodedKey); //key.length = 18
byte[] iv = Encryption.GenerateRandomBytes(olength);
CryptoStream cs = Encryption.AES128Stream(key, iv, Context.Response.Body);
上記のメソッドが呼び出されると、以下のようになります
public static CryptoStream AES128Stream(byte[] key, byte[] iv, Stream stream)
{
try
{
Rijndael rijndael = Rijndael.Create();
rijndael.Mode = CipherMode.CBC;
rijndael.Padding = PaddingMode.PKCS7;
rijndael.KeySize = 128;
rijndael.BlockSize = 128;
rijndael.Key = key; ///---->CRASHES HERE
rijndael.IV = iv;
ICryptoTransform rijndaelEncryptor = rijndael.CreateEncryptor();
return new CryptoStream(stream, rijndaelEncryptor, CryptoStreamMode.Write);
}
catch (Exception e)
{
throw e;
}
}
追加情報では、それは述べています
追加情報: 指定されたキーは、このアルゴリズムに対して有効なサイズではありません。
その場合、どの文字列を使用できますか? この文字列が機能しないのはなぜですか?