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 из исходных байтов содержимого, и ни для каких других целей.