Поделиться через


SourceText.GetChecksum Метод

Определение

Криптографическая контрольная сумма, определяемая .ChecksumAlgorithm Вычисляется с использованием исходных байтов, которые использовались для этого SourceText (если использовались какие-либо методы From , которые принимают byte[] или Stream). В противном случае вычисляется путем записи обратно SourceText в Stream (с помощью предоставленного Encoding) и вычисления хэша.

public:
 System::Collections::Immutable::ImmutableArray<System::Byte> GetChecksum();
public System.Collections.Immutable.ImmutableArray<byte> GetChecksum ();
member this.GetChecksum : unit -> System.Collections.Immutable.ImmutableArray<byte>
Public Function GetChecksum () As ImmutableArray(Of Byte)

Возвращаемое значение

Комментарии

Два разных SourceText экземпляра с одинаковым содержимым (см. ContentEquals(SourceText)) могут иметь разные результаты для этого метода. Это связано с тем, что разные исходные байты могут в конечном итоге получить одно и то же конечное содержимое. Например, поток utf8 с меткой порядка байтов создает то же содержимое, что и поток utf8 без него. Однако эти байты заготовки будут частью контрольной суммы, что приведет к разным результатам.

Аналогичным образом, два разных SourceText экземпляра с разным содержимым могут иметь одинаковые контрольные суммы в обычных сценариях. Это связано с тем, что использование может привести к сопоставлению Encoding различных символов с одной и той же последовательностью закодированных байтов.

Таким образом, эта функция должна использоваться только клиентами, которым требуется знать точный хэш SHA из исходных байтов содержимого, и ни для каких других целей.

Применяется к