Exemple #1
0
        public Memory <byte> NcHashBufferData(NcHashAlgorithm algorithm, int dataSize, int bufferSize, ReadOnlyMemory <byte> dataMemory)
        {
            var hashBuffer = new NcHashBuffer(algorithm);

            // Matching the default size of ComputeHash.
            var iterations = dataSize / bufferSize;
            var remainder  = dataSize - iterations * bufferSize;

            for (int i = 0; i < iterations; i++)
            {
                hashBuffer.Write(dataMemory.Slice(i * bufferSize, bufferSize));
            }

            if (remainder > 0)
            {
                hashBuffer.Write(dataMemory.Slice(iterations * bufferSize, remainder));
            }

            return(hashBuffer.FinalizeHash());
        }
Exemple #2
0
 public Memory <byte> NcHashBufferData(NcHashAlgorithm algorithm)
 {
     return(NcHashBufferData(algorithm, DataSize, _bufferSize, _dataMemory));
 }