HashingStream - класс

Поток для вычисления хеш-функции от входящего потока по завершению чтения. Не поддерживает запись. Вызовите метод FinalizeHashing после того, как закончилось чтение из стрима, но перед тем, как будет получена хеш-сумма из объекта-алгоритма ICryptoTransform.

Definition

Пространство имён: Tessa.Platform.IO
Сборка: Tessa (в Tessa.dll) Версия: 3.6.0.22
C#
public class HashingStream : Stream
Inheritance
Object    MarshalByRefObject    Stream    HashingStream

Конструкторы

HashingStream Создаёт экземпляр класса с указанием его параметров.

Свойства

Buffer Внутренний буфер, в котором производится вычисление хеш-суммы.
BufferActualSize Количество байт в буфере Buffer, которые заполнены прочитанными данными. Равно -1 до начала чтения. Может быть равно меньше размера массива Buffer для последней итерации, т.к. данные для загрузки закончились.
BufferOffset Текущее смещение относительно начала буфера Buffer, данные которого будут возвращены в этом потоке.
CanReadПризнак того, что поток поддерживает чтение данных.
(Переопределяет StreamCanRead)
CanSeek Признак того, что текущую позицию в потоке можно изменять. Свойство всегда возвращает false.
(Переопределяет StreamCanSeek)
CanTimeoutGets a value that determines whether the current stream can time out.
(Унаследован от Stream)
CanWrite Признак того, что в поток можно записывать данные методом [System.IO.Stream.Write]. Свойство всегда возвращает false.
(Переопределяет StreamCanWrite)
HashAlgorithm Хеш-алгоритм, используемый для вычисления хеш-суммы.
LengthОбщее количество доступных в потоке байт.
(Переопределяет StreamLength)
PositionТекущая позиция в потоке. Поддерживается только чтение свойства.
(Переопределяет StreamPosition)
ReadTimeoutGets or sets a value, in milliseconds, that determines how long the stream will attempt to read before timing out.
(Унаследован от Stream)
Stream Поток, при чтении из которого вычисляется хеш-сумма.
WriteTimeoutGets or sets a value, in milliseconds, that determines how long the stream will attempt to write before timing out.
(Унаследован от Stream)

Методы

BeginReadBegins an asynchronous read operation. (Consider using ReadAsync(Byte, Int32, Int32) instead.)
(Унаследован от Stream)
BeginWriteBegins an asynchronous write operation. (Consider using WriteAsync(Byte, Int32, Int32) instead.)
(Унаследован от Stream)
CloseCloses the current stream and releases any resources (such as sockets and file handles) associated with the current stream. Instead of calling this method, ensure that the stream is properly disposed.
(Унаследован от Stream)
CopyTo(Stream)Reads the bytes from the current stream and writes them to another stream.
(Унаследован от Stream)
CopyTo(Stream, Int32)Reads the bytes from the current stream and writes them to another stream, using a specified buffer size.
(Унаследован от Stream)
CopyToAsync(Stream)Asynchronously reads the bytes from the current stream and writes them to another stream.
(Унаследован от Stream)
CopyToAsync(Stream, Int32)Asynchronously reads the bytes from the current stream and writes them to another stream, using a specified buffer size.
(Унаследован от Stream)
CopyToAsync(Stream, CancellationToken)Asynchronously reads the bytes from the current stream and writes them to another stream, using a specified cancellation token.
(Унаследован от Stream)
CopyToAsync(Stream, Int32, CancellationToken)Asynchronously reads the bytes from the current stream and writes them to another stream, using a specified buffer size and cancellation token.
(Унаследован от Stream)
CreateWaitHandleAllocates a WaitHandle object.
(Унаследован от Stream)
Устарело.
DisposeReleases all resources used by the Stream.
(Унаследован от Stream)
Dispose(Boolean)Освобождает ресурсы, занимаемые объектом.
(Переопределяет StreamDispose(Boolean))
DisposeAsyncAsynchronously releases the unmanaged resources used by the Stream.
(Унаследован от Stream)
EndReadWaits for the pending asynchronous read to complete. (Consider using ReadAsync(Byte, Int32, Int32) instead.)
(Унаследован от Stream)
EndWriteEnds an asynchronous write operation. (Consider using WriteAsync(Byte, Int32, Int32) instead.)
(Унаследован от Stream)
EqualsDetermines whether the specified object is equal to the current object.
(Унаследован от Object)
FinalizeAllows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Унаследован от Object)
FinalizeHashing Вычисляет результирующую хеш-сумму для всех прочитанных данных.
Flush Записывает все данные из буфера потока на устройство и очищает буфер. Метод не поддерживается.
(Переопределяет StreamFlush)
FlushAsyncAsynchronously clears all buffers for this stream and causes any buffered data to be written to the underlying device.
(Унаследован от Stream)
FlushAsync(CancellationToken) Записывает все данные из буфера потока на устройство и очищает буфер. Метод не поддерживается.
(Переопределяет StreamFlushAsync(CancellationToken))
GetHashCodeServes as the default hash function.
(Унаследован от Object)
GetLifetimeServiceRetrieves the current lifetime service object that controls the lifetime policy for this instance.
(Унаследован от MarshalByRefObject)
GetTypeGets the Type of the current instance.
(Унаследован от Object)
InitializeLifetimeServiceObtains a lifetime service object to control the lifetime policy for this instance.
(Унаследован от MarshalByRefObject)
MemberwiseCloneCreates a shallow copy of the current Object.
(Унаследован от Object)
MemberwiseClone(Boolean)Creates a shallow copy of the current MarshalByRefObject object.
(Унаследован от MarshalByRefObject)
ObjectInvariantProvides support for a Contract.
(Унаследован от Stream)
Устарело.
Read(SpanByte)When overridden in a derived class, reads a sequence of bytes from the current stream and advances the position within the stream by the number of bytes read.
(Унаследован от Stream)
Read(Byte, Int32, Int32)Считывает данные из потока и записывает их в заданный массив байт.
(Переопределяет StreamRead(Byte, Int32, Int32))
ReadAsync(MemoryByte, CancellationToken)Asynchronously reads a sequence of bytes from the current stream, advances the position within the stream by the number of bytes read, and monitors cancellation requests.
(Унаследован от Stream)
ReadAsync(Byte, Int32, Int32)Asynchronously reads a sequence of bytes from the current stream and advances the position within the stream by the number of bytes read.
(Унаследован от Stream)
ReadAsync(Byte, Int32, Int32, CancellationToken)Асинхронно считывает данные из потока и записывает их в заданный массив байт.
(Переопределяет StreamReadAsync(Byte, Int32, Int32, CancellationToken))
ReadByteReads a byte from the stream and advances the position within the stream by one byte, or returns -1 if at the end of the stream.
(Унаследован от Stream)
SeekИзменяет текущую позицию в потоке. Метод не поддерживается.
(Переопределяет StreamSeek(Int64, SeekOrigin))
SetLengthУстанавливает размер данных в потоке. Метод не поддерживается.
(Переопределяет StreamSetLength(Int64))
ToStringReturns a string that represents the current object.
(Унаследован от Object)
Write(ReadOnlySpanByte)When overridden in a derived class, writes a sequence of bytes to the current stream and advances the current position within this stream by the number of bytes written.
(Унаследован от Stream)
Write(Byte, Int32, Int32)Записывает данные в поток из массива байт. Метод не поддерживается.
(Переопределяет StreamWrite(Byte, Int32, Int32))
WriteAsync(ReadOnlyMemoryByte, CancellationToken)Asynchronously writes a sequence of bytes to the current stream, advances the current position within this stream by the number of bytes written, and monitors cancellation requests.
(Унаследован от Stream)
WriteAsync(Byte, Int32, Int32)Asynchronously writes a sequence of bytes to the current stream and advances the current position within this stream by the number of bytes written.
(Унаследован от Stream)
WriteAsync(Byte, Int32, Int32, CancellationToken)Записывает данные в поток из массива байт. Метод не поддерживается.
(Переопределяет StreamWriteAsync(Byte, Int32, Int32, CancellationToken))
WriteByteWrites a byte to the current position in the stream and advances the position within the stream by one byte.
(Унаследован от Stream)

Методы расширения

AsMemoryStreamAsync Возвращает поток stream, преобразованный к типу MemoryStream. Если его тип отличается от MemoryStream, то его содержимое будет скопировано в созданный объект MemoryStream, после чего исходный stream будет освобождён, но только если параметр disposeNonMemoryStream равен true.
(Определяется IOExtensions)
CalculateStreamLengthAsync Вычисляет длину потока посредством его чтения, но отбрасывая сам контент.
(Определяется IOExtensions)
Get
(Определяется ComHelper)
InternalMarkerCanvas Возвращает маркер аннотации
(Определяется AnnotationInternalsAccessor)
Invoke
(Определяется ComHelper)
ReadAllBytes Выполняет синхронное чтение всех данных потока в виде одного массива байт. Чтение выполняется до того момента, как поток перестанет возвращать данные, при этом метод не использует свойство Length для определения количества считываемых данных.
(Определяется IOExtensions)
ReadAllBytesAsync Выполняет асинхронное чтение всех данных потока в виде одного массива байт. Чтение выполняется до того момента, как поток перестанет возвращать данные, при этом метод не использует свойство Length для определения количества считываемых данных.
(Определяется IOExtensions)
ReadByteAsync Выполняет асинхронное чтение целочисленного значения Byte из потока.
(Определяется IOExtensions)
ReadBytes Выполняет чтение данных из потока stream и записывает их в возвращаемый массив байт, который имеет максимальный размер length байт.
(Определяется IOExtensions)
ReadBytesAsync Выполняет чтение данных из потока stream и записывает их в возвращаемый массив байт, который имеет максимальный размер length байт.
(Определяется IOExtensions)
ReadBytesExact Выполняет чтение данных из потока stream и записывает их в возвращаемый массив байт, который имеет заданный размер length байт.
(Определяется IOExtensions)
ReadBytesExactAsync Выполняет асинхронное чтение данных из потока stream и записывает их в возвращаемый массив байт, который имеет заданный размер length байт.
(Определяется IOExtensions)
ReadExact Выполняет чтение указанного количества байт из потока в буфер. Возвращает количество действительно прочитанных байт, которое может быть меньше указанного количества только в том случае, если поток завершился.
(Определяется IOExtensions)
ReadExactAsync Выполняет асинхронное чтение указанного количества байт из потока в буфер. Возвращает количество действительно прочитанных байт, которое может быть меньше указанного количества только в том случае, если поток завершился.
(Определяется IOExtensions)
ReadGuid Выполняет чтение значения Guid из потока.
(Определяется IOExtensions)
ReadGuidAsync Выполняет асинхронное чтение значения Guid из потока.
(Определяется IOExtensions)
ReadInt16Async Выполняет асинхронное чтение целочисленного значения Int16 из потока.
(Определяется IOExtensions)
ReadInt32 Выполняет чтение целочисленного значения Int32 из потока.
(Определяется IOExtensions)
ReadInt32Async Выполняет асинхронное чтение целочисленного значения Int32 из потока.
(Определяется IOExtensions)
ReadInt64 Выполняет чтение целочисленного значения Int32 из потока.
(Определяется IOExtensions)
ReadInt64Async Выполняет асинхронное чтение целочисленного значения Int32 из потока.
(Определяется IOExtensions)
ReadString Выполняет чтение значения string из потока.
(Определяется IOExtensions)
ReadStringAsync Выполняет асинхронное чтение значения string из потока.
(Определяется IOExtensions)
Set
(Определяется ComHelper)
TryReadPrimitiveType Выполняет чтение объекта примитивного типа из потока. Возвращает значение объекта или признак того, что тип объекта type является примитивным, и объект был прочитан из потока.
(Определяется IOExtensions)
TryReadPrimitiveTypeAsync Выполняет асинхронное чтение объекта примитивного типа из потока. Возвращает значение объекта или признак того, что тип объекта type является примитивным, и объект был прочитан из потока.
(Определяется IOExtensions)
TryWritePrimitiveType Выполняет запись объекта примитивного типа в поток. Возвращает признак того, что тип объекта obj является примитивным, и объект был записан в поток.
(Определяется IOExtensions)
TryWritePrimitiveTypeAsync Выполняет асинхронную запись объекта примитивного типа в поток. Возвращает признак того, что тип объекта obj является примитивным, и объект был записан в поток.
(Определяется IOExtensions)
Write Выполняет запись целочисленного значения Byte в поток.
(Определяется IOExtensions)
Write Выполняет запись значения Guid в поток.
(Определяется IOExtensions)
Write Выполняет запись целочисленного значения Int16 в поток.
(Определяется IOExtensions)
Write Выполняет запись целочисленного значения Int32 в поток.
(Определяется IOExtensions)
Write Выполняет запись целочисленного значения Int32 в поток.
(Определяется IOExtensions)
Write Выполняет запись значения string в поток.
(Определяется IOExtensions)
WriteAsync Выполняет асинхронную запись целочисленного значения Byte в поток.
(Определяется IOExtensions)
WriteAsync Выполняет запись значения Guid в поток.
(Определяется IOExtensions)
WriteAsync Выполняет асинхронную запись целочисленного значения Int16 в поток.
(Определяется IOExtensions)
WriteAsync Выполняет асинхронную запись целочисленного значения Int32 в поток.
(Определяется IOExtensions)
WriteAsync Выполняет асинхронную запись целочисленного значения Int32 в поток.
(Определяется IOExtensions)
WriteAsync Выполняет асинхронную запись значения string в поток.
(Определяется IOExtensions)
WriteStream Записывает все данные из потока source в поток target.
(Определяется IOExtensions)
WriteStreamAsync Записывает все данные из потока source в поток target.
(Определяется IOExtensions)
WriteTextAsync Записывает текст в поток в указанной кодировке. Также записывает преамбулу (BOM) в соответствии с её наличием в кодировке encoding, что также определяется тем, что stream находится в нулевой позиции, или если он не сообщает свою позицию, т.е. CanSeek равно false (по этим же правилам работает StreamWriter).
(Определяется IOExtensions)
WriteTextAsync Записывает текст в поток в указанной кодировке. Также записывает преамбулу (BOM) в соответствии с её наличием в кодировке encoding, что также определяется тем, что stream находится в нулевой позиции, или если он не сообщает свою позицию, т.е. CanSeek равно false (по этим же правилам работает StreamWriter).
(Определяется IOExtensions)

См. также