Beispiel #1
0
        public void Murmur3Characteristics()
        {
            var hashF = Murmur3.Create();
            var hash  = hashF.ComputeHash(Encoding.ASCII.GetBytes("9089089whatevathisstringshouldbe123!!!"));

            Assert.Equal(8, hash.Length);
        }
Beispiel #2
0
        public void Murmur3SimilarStrings()
        {
            var hash  = Murmur3.Create();
            var hash1 = hash.ComputeHash(Encoding.ASCII.GetBytes("awesome1"));
            var hash2 = hash.ComputeHash(Encoding.ASCII.GetBytes("awesome1."));

            Assert.NotEqual(hash1, hash2);
        }
Beispiel #3
0
        /// <summary>
        /// <see cref="IHashProvider"/> factory.
        /// </summary>
        /// <param name="func">Hash function to use; see <see cref="HashFunc"/>.</param>
        /// <returns></returns>
        private IHashProvider CreateHashAlgorithm(HashFunc func)
        {
            switch (func)
            {
            case HashFunc.SHA256:
                return(SHA256Provider.Create());

            case HashFunc.SHA512:
                return(SHA512Provider.Create());

            case HashFunc.Murmur3:
                return(Murmur3.Create());

            default:
                throw new NotImplementedException();
            }
        }