/// <summary> /// Returns the upper and lower base hash values from which the k hashes are /// derived. /// </summary> /// <param name="data">The data bytes to hash.</param> /// <param name="algorithm">The hashing algorithm to use.</param> /// <returns>A HashKernel</returns> public static HashKernel128ReturnValue HashKernel128(byte[] data, HashAlgorithm algorithm) { var sum = algorithm.ComputeHash(data); return(HashKernel128ReturnValue.Create( HashBytesToUInt64(sum, 0), HashBytesToUInt64(sum, 8) )); }
/// <summary> /// Returns the upper and lower base hash values from which the k hashes are /// derived. /// </summary> /// <param name="data">The data bytes to hash.</param> /// <param name="algorithm">The hashing algorithm to use.</param> /// <returns>A HashKernel</returns> public static HashKernel128ReturnValue HashKernel128(byte[] data, HashAlgorithm algorithm) { var hash = new Hash128(algorithm); var sum = hash.ComputeHashAndSum(data); return(HashKernel128ReturnValue.Create( ToBigEndianUInt64(sum, 8), ToBigEndianUInt64(sum, 0) )); }