예제 #1
0
        public void TestHashWith10Threads() // cost 5 seconds
        {
            var temp = new byte[3000000];

            TzHash tz = new TzHash();
            var    n  = tz.HashWith10Threads(temp);

            Assert.AreEqual(0, 0);
        }
예제 #2
0
 public void TestHash()
 {
     foreach (var item in HashTestCases)
     {
         TzHash tz   = new TzHash();
         var    hash = tz.ComputeHash(item.Item1);
         Assert.AreEqual(item.Item2, hash.ToHexString());
     }
 }
예제 #3
0
        public void TestBenchmarkInCLang() // cost 1 seconds
        {
            var n    = 3000000;
            var temp = new byte[n];

            TzHash tz   = new TzHash();
            var    hash = tz.ComputeHash2(temp);

            Assert.AreEqual("601b0a3b8a51c34e3028245e88112aea0fd7571f9de28d6a81f31e58eec1e3310fd7571f9de28d6a81f31e58eec1e3317fb5a404b194d99b33ce18ef5592ec88", hash.ToHexString());
        }
예제 #4
0
        public void TestBenchmarkInCSharp() // cost 9 seconds
        {
            var n    = 3000000;
            var temp = new byte[n];

            TzHash tz    = new TzHash();
            var    start = (DateTime.Now.Minute * 60 + DateTime.Now.Second) * 1000 + DateTime.Now.Millisecond;
            var    hash  = tz.ComputeHash(temp);
            var    end   = (DateTime.Now.Minute * 60 + DateTime.Now.Second) * 1000 + DateTime.Now.Millisecond;

            Assert.AreEqual("601b0a3b8a51c34e3028245e88112aea0fd7571f9de28d6a81f31e58eec1e3310fd7571f9de28d6a81f31e58eec1e3317fb5a404b194d99b33ce18ef5592ec88", hash.ToHexString());
            var cha = end - start;
        }
예제 #5
0
        public void TestHomomorphism()
        {
            using RandomNumberGenerator rng = RandomNumberGenerator.Create();
            var b = new byte[64];

            rng.GetBytes(b);

            TzHash tz = new TzHash();
            var    h  = tz.ComputeHash(b);
            var    s  = h.ToHexString();

            tz.Reset();
            var h1 = tz.ComputeHash(b[0..32]);