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()); }
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()); }
/// <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)); }
/// <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)); }
/// <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)); }