Esempio n. 1
0
        public static Hash128 GenerateHash128(
            ReadOnlySpan <byte> bytes,
            IHashFunction?hashFunction = null)
        {
            if (hashFunction is null)
            {
                hashFunction = DefaultHashFunction.Get128Bit();
            }
            else
            {
                HashFunctionValidator.Validate(hashFunction, 16);
            }

            return(GenerateHashImpl(bytes, hashFunction));
        }
Esempio n. 2
0
        public static Hash32 GenerateJsonHash32(
            object obj,
            IHashFunction?hashFunction              = null,
            JsonWriterOptions writerOptions         = default,
            JsonSerializerOptions?serializerOptions = null)
        {
            if (hashFunction is null)
            {
                hashFunction = DefaultHashFunction.Get32Bit();
            }
            else
            {
                HashFunctionValidator.Validate(hashFunction, 4);
            }

            return(GenerateJsonHashImpl(obj, hashFunction, writerOptions, serializerOptions));
        }
Esempio n. 3
0
        public static Hash32 GenerateHash32(
            ReadOnlySpan <char> input,
            IHashFunction?hashFunction = null)
        {
            if (hashFunction is null)
            {
                hashFunction = DefaultHashFunction.Get32Bit();
            }
            else
            {
                HashFunctionValidator.Validate(hashFunction, 4);
            }

            var bytes = MemoryMarshal.Cast <char, byte>(input);

            return(GenerateHashImpl(bytes, hashFunction));
        }