ドキュメントには、「次の値を使用すると、この結果が得られます」と記載されています。
ブロック サイズ: 128 暗号モード: CBC パディング モード:ゼロ
キー: BTikvHBatPdAtgT3317QIQqGFY25WpIz
IV: a5Sg4U9m11Mw2tIZ
暗号化される値: 2008-06-02 13:28:45,Statements,1234567,,06/01/2008,06/01/2008,0
これらすべての値が開発者ガイドに従って使用された後の暗号化結果は次のようになります。
b97f3985245be1065604c5808cebaa2e15813bf938cfaa3c198fd464565c13ced7c91ac6 b68326ce5ed5e81cb7de81acb9fcd1b1636127efbac3203da5bdccea
ただし、何らかの理由でこの結果を取得できません。これは、この結果を入力するために使用したコードですが、最初は同じ文字が表示され、後で文字が変更されるため、この質問の一番下の結果に表示されることがあります。
これがコードで、以下が新しい出力です。
public static void Main(string[] args)
{
RijndaelManaged rij = new RijndaelManaged();
rij.Mode = CipherMode.CBC;
rij.Padding = PaddingMode.Zeros;
rij.Key = ASCIIEncoding.UTF8.GetBytes("BTikvHBatPdAtgT3317QIQqGFY25WpIz");
rij.IV = ASCIIEncoding.UTF8.GetBytes("a5Sg4U9m11Mw2tIZ");
ICryptoTransform transform = rij.CreateEncryptor();
byte[] data = Encoding.ASCII.GetBytes("2008-06-02 13:28:45,Statements,1234567,,06/01/2008,06/01/2008,0");
byte[] result = transform.TransformFinalBlock(data, 0, data.Length);
Console.WriteLine(ByteArrayToString(result));
}
public static string ByteArrayToString(byte[] ba)
{
StringBuilder hex = new StringBuilder(ba.Length * 2);
foreach (byte b in ba)
hex.AppendFormat("{0:x2}", b);
return hex.ToString();
}
私の出力:
b97f3985245be1065604c5808cebaa2e15813bf938cfaa3c198fd464565c13ced7c91ac6b68326ce5ed5e81cb7de81ac
注:先に進んでより良い解決策を見つけたので、質問を更新する必要がありましたが、新しい問題が現在発生しています。