public void TestMD5Managed() { System.Security.Cryptography.MD5 md5; try { md5 = System.Security.Cryptography.MD5.Create(); } catch { Console.WriteLine("FIPS enabled, exiting test"); return; } var md5m = new ThirdParty.MD5.MD5Managed(); Assert.AreEqual(md5.CanReuseTransform, md5m.CanReuseTransform); Assert.AreEqual(md5.CanTransformMultipleBlocks, md5m.CanTransformMultipleBlocks); Assert.AreEqual(md5.HashSize, md5m.HashSize); Assert.AreEqual(md5.InputBlockSize, md5m.InputBlockSize); Assert.AreEqual(md5.OutputBlockSize, md5m.OutputBlockSize); var data1 = "foo"; var data2 = "bar"; var bytes1 = Encoding.UTF8.GetBytes(data1); var bytes2 = Encoding.UTF8.GetBytes(data2); //CollectionAssert.AreEqual(md5.Hash, md5m.Hash); CollectionAssert.AreEqual(md5.ComputeHash(bytes1), md5m.ComputeHash(bytes1)); HashMultiple(md5, bytes1, bytes2); HashMultiple(md5m, bytes1, bytes2); CollectionAssert.AreEqual(md5.Hash, md5m.Hash); //HashMultiple(md5, bytes1, bytes2); //HashMultiple(md5m, bytes1, bytes2); //CollectionAssert.AreEqual(md5.Hash, md5m.Hash); md5.Initialize(); md5m.Initialize(); Assert.AreEqual(data1, Encoding.UTF8.GetString(bytes1)); Assert.AreEqual(data2, Encoding.UTF8.GetString(bytes2)); md5.Clear(); md5m.Clear(); Utils.AssertExceptionExpected<ObjectDisposedException>(() => HashMultiple(md5, bytes1, bytes2)); Utils.AssertExceptionExpected<ObjectDisposedException>(() => HashMultiple(md5m, bytes1, bytes2)); }
public void TestMD5Managed() { System.Security.Cryptography.MD5 md5; try { md5 = System.Security.Cryptography.MD5.Create(); } catch { Console.WriteLine("FIPS enabled, exiting test"); return; } var md5m = new ThirdParty.MD5.MD5Managed(); Assert.AreEqual(md5.CanReuseTransform, md5m.CanReuseTransform); Assert.AreEqual(md5.CanTransformMultipleBlocks, md5m.CanTransformMultipleBlocks); Assert.AreEqual(md5.HashSize, md5m.HashSize); Assert.AreEqual(md5.InputBlockSize, md5m.InputBlockSize); Assert.AreEqual(md5.OutputBlockSize, md5m.OutputBlockSize); var data1 = "foo"; var data2 = "bar"; var bytes1 = Encoding.UTF8.GetBytes(data1); var bytes2 = Encoding.UTF8.GetBytes(data2); //CollectionAssert.AreEqual(md5.Hash, md5m.Hash); CollectionAssert.AreEqual(md5.ComputeHash(bytes1), md5m.ComputeHash(bytes1)); HashMultiple(md5, bytes1, bytes2); HashMultiple(md5m, bytes1, bytes2); CollectionAssert.AreEqual(md5.Hash, md5m.Hash); //HashMultiple(md5, bytes1, bytes2); //HashMultiple(md5m, bytes1, bytes2); //CollectionAssert.AreEqual(md5.Hash, md5m.Hash); md5.Initialize(); md5m.Initialize(); Assert.AreEqual(data1, Encoding.UTF8.GetString(bytes1)); Assert.AreEqual(data2, Encoding.UTF8.GetString(bytes2)); md5.Clear(); md5m.Clear(); Utils.AssertExceptionExpected <ObjectDisposedException>(() => HashMultiple(md5, bytes1, bytes2)); Utils.AssertExceptionExpected <ObjectDisposedException>(() => HashMultiple(md5m, bytes1, bytes2)); }