protected void TestECB (SymmetricAlgorithmPlus algo, ECBTestHelper helper) { ICryptoTransform ct = null; int counter = 0; algo.Mode = CipherMode.ECB; String keyText = ""; try { while (helper.ReadNext ()) { counter ++; if (ct == null || helper.IsUpdateKey) { byte[] key = helper.Key; keyText = ToString (key); if (ct != null) ct.Dispose (); ct = algo.CreateEncryptor (key, new byte[algo.BlockSize >> 3]); } byte[] output = new byte[ct.OutputBlockSize]; ct.TransformBlock (helper.PlainText, 0, helper.PlainText.Length, output, 0); for (int i = 0; i < output.Length; i ++) if (output[i] != helper.CryptText[i]) Assert.Fail (counter.ToString () + " " + ToString(helper.CryptText) + " != " + ToString (output) + " [Key=" + keyText + "]"); } } finally { if (ct != null) ct.Dispose (); } }
protected void TestECB(SymmetricAlgorithmPlus algo, ECBTestHelper helper) { ICryptoTransform ct = null; int counter = 0; algo.Mode = CipherMode.ECB; String keyText = ""; try { while (helper.ReadNext()) { counter++; if (ct == null || helper.IsUpdateKey) { byte[] key = helper.Key; keyText = ToString(key); if (ct != null) { ct.Dispose(); } ct = algo.CreateEncryptor(key, new byte[algo.BlockSize >> 3]); } byte[] output = new byte[ct.OutputBlockSize]; ct.TransformBlock(helper.PlainText, 0, helper.PlainText.Length, output, 0); for (int i = 0; i < output.Length; i++) { if (output[i] != helper.CryptText[i]) { Assert.Fail(counter.ToString() + " " + ToString(helper.CryptText) + " != " + ToString(output) + " [Key=" + keyText + "]"); } } } } finally { if (ct != null) { ct.Dispose(); } } }