예제 #1
0
        public void TestSHA256()
        {
            MsftHasher   hasher       = new MsftHasher();
            string       input        = "t6MJu}q<&4Krk,9<";
            const string expectedHash = "EC69618987A118C309AF5C1E880A28366865794C40769345EB3D6D0CFA8681BB";
            var          hash         = input.HashOfText();

            expectedHash.Should().BeEquivalentTo(hash.ToHexString());
        }
예제 #2
0
        public void TestRIPEMD160()
        {
            MsftHasher   hasher       = new MsftHasher();
            string       input        = "t6MJu}q<&4Krk,9<";
            const string expectedHash = "2664bb6bac1c8f6197e08fbea6f05e5b49bbcf42";
            var          hash         = hasher.RIPEMD160(input.HashOfText());

            expectedHash.Should().BeEquivalentTo(hash.ToHexString());
        }
예제 #3
0
        /// <summary>
        /// Computes a hash of an array of bytes
        /// </summary>
        /// <param name="data">array of bytes</param>
        /// <returns>the hash</returns>
        public static Hash256 Hash(this byte[] data)
        {
            if (data == null)
            {
                throw new ArgumentException($"Invalid paramter to '{nameof(Hash)}'. Parameter '{nameof(data)}' cannot be null");
            }
            MsftHasher hasher = new MsftHasher();

            return(hasher.SHA256(data, 0, data.Length));
        }
예제 #4
0
        /// <summary>
        /// Computes a hash of an array of bytes
        /// </summary>
        /// <param name="data">array of bytes</param>
        /// <returns>the hash</returns>
        public static Hash256 Hash(this Span <byte> data)
        {
            MsftHasher hasher = new MsftHasher();

            return(hasher.SHA256(data.ToArray(), 0, data.Length));
        }
예제 #5
0
        /// <summary>
        /// Peforms a RIPEMD160 hash on the hash
        /// </summary>
        /// <param name="hash">input hash</param>
        /// <returns>RIPEMD160 hash of the hash</returns>
        public static Hash160 RIPEMD160(this Hash256 hash)
        {
            MsftHasher hasher = new MsftHasher();

            return(hasher.RIPEMD160(hash));
        }