// - Test TransformFinalBlock - alone; public void CheckD(string testName, byte[] key, byte[] data, byte[] result) { algo = new MACTripleDES(); algo.Key = key; // LAMESPEC or FIXME: TransformFinalBlock doesn't return HashValue ! algo.TransformFinalBlock(data, 0, data.Length); AssertEquals(testName + "d", result, algo.Hash); }
// - Test TransformBlock/TransformFinalBlock public void CheckE(string testName, byte[] key, byte[] data, byte[] result) { algo = new MACTripleDES(); algo.Key = key; byte[] copy = new byte [data.Length]; // LAMESPEC or FIXME: TransformFinalBlock doesn't return HashValue ! for (int i = 0; i < data.Length - 1; i++) { algo.TransformBlock(data, i, 1, copy, i); } algo.TransformFinalBlock(data, data.Length - 1, 1); AssertEquals(testName + "e", result, algo.Hash); }
// MACTripleDES tests #if NET_2_0 private string MAC(PaddingMode padding, int length) { byte[] key = new byte [24] { 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x08, 0x07, 0x06, 0x05, 0x04, 0x03, 0x02, 0x01, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08 }; MACTripleDES mac = new MACTripleDES(key); mac.Padding = padding; byte[] data = new byte [length]; byte[] hash = mac.TransformFinalBlock(data, 0, data.Length); string result = BitConverter.ToString(mac.Hash); return(result); }