public static ulong?ComputeHash(ReadOnlySpan <byte> buffer, IValueHashProvider valueHashProvider = null, ulong?seed = null) { return(buffer == null ? default : (valueHashProvider ?? Defaults.ValueHashProvider).ComputeHash64(buffer, seed ?? DefaultSeed)); }
public static ulong?ComputeHash(object instance, IObjectSerializer objectSerializer = null, IStringSerializer stringSerializer = null, ITypeResolver typeResolver = null, IValueHashProvider valueHashProvider = null, ulong?seed = null) { stringSerializer ??= Defaults.StringSerializer; objectSerializer ??= Defaults.ObjectSerializer; typeResolver ??= Defaults.TypeResolver; return(instance is string text ? ComputeHash(stringSerializer.ToBuffer(text, objectSerializer, typeResolver), valueHashProvider, seed) : ComputeHash(objectSerializer.ToBuffer(instance, typeResolver), valueHashProvider, seed)); }