示例#1
0
        public void TestDoubleHashOfTextInput()
        {
            var textTestVectors = new Dictionary <string, string>
            {
                { string.Empty, "5df6e0e2761359d30a8275058e299fcc0381534545f55cf43e41983f5d4c9456" }, //empty string
                { "abc", "4f8b42c22dd3729b519ba6f68d2da7cc5b2d606d05daed5ad5128cc03e6c6358" },
                { "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq", "0cffe17f68954dac3a84fb1458bd5ec99209449749b2b308b7cb55812f9563af" },
                { "The quick brown fox jumps over the lazy dog", "6d37795021e544d82b41850edf7aabab9a0ebe274e54a519840c4666f35b3937" },
                { "The quick brown fox jumps over the lazy dog.", "a51a910ecba8a599555b32133bf1829455d55fe576677b49cb561d874077385c" }
            };

            //test hex string overload.  SHA256.DoubleHash(string hexData)
            foreach (var testString in textTestVectors)
            {
                var hex       = Hex.AsciiToHex(testString.Key);
                var hashBytes = SHA256.DoubleHash(hex);
                Assert.AreEqual(testString.Value, hashBytes.ToHex());
            }

            //test byte array overload.  SHA256.DoubleHash(byte[] data)
            foreach (var testString in textTestVectors)
            {
                var bytes     = Encoding.UTF8.GetBytes(testString.Key);
                var hashBytes = SHA256.DoubleHash(bytes);
                Assert.AreEqual(testString.Value, hashBytes.ToHex());
            }
        }
示例#2
0
        public void TestDoubleHashOfHexInput()
        {
            var hexTestVectors = new Dictionary <string, string>
            {
                { string.Empty, "5df6e0e2761359d30a8275058e299fcc0381534545f55cf43e41983f5d4c9456" },
                { "616263", "4f8b42c22dd3729b519ba6f68d2da7cc5b2d606d05daed5ad5128cc03e6c6358" },
                { "6162636462636465636465666465666765666768666768696768696a68696a6b696a6b6c6a6b6c6d6b6c6d6e6c6d6e6f6d6e6f706e6f7071", "0cffe17f68954dac3a84fb1458bd5ec99209449749b2b308b7cb55812f9563af" },
                { "54686520717569636b2062726f776e20666f78206a756d7073206f76657220746865206c617a7920646f67", "6d37795021e544d82b41850edf7aabab9a0ebe274e54a519840c4666f35b3937" },
                { "54686520717569636b2062726f776e20666f78206a756d7073206f76657220746865206c617a7920646f672e", "a51a910ecba8a599555b32133bf1829455d55fe576677b49cb561d874077385c" },
            };

            foreach (var testString in hexTestVectors)
            {
                var hashBytes = SHA256.DoubleHash(testString.Key);
                Assert.AreEqual(testString.Value, hashBytes.ToHex());
            }
        }