Freigeben über


SourceText.GetChecksum Methode

Definition

Kryptografische Prüfsumme, die von bestimmt wird ChecksumAlgorithm. Wird mit den ursprünglichen Bytes berechnet, die für die SourceText Erstellung verwendet wurden (wenn eine der Methoden verwendet wurde, die From ein byte[] oder verwenden Stream). Andernfalls wird berechnet, indem Sie dies SourceText zurück in ein Stream schreiben (mit dem bereitgestellten Encoding) und den Hash daraus berechnen.

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)

Gibt zurück

Hinweise

Zwei unterschiedliche SourceText Instanzen mit demselben Inhalt (siehe ContentEquals(SourceText)) können für diese Methode unterschiedliche Ergebnisse aufweisen. Dies liegt daran, dass verschiedene Ursprungsbytes denselben endgültigen Inhalt aufweisen können. Ein utf8-Stream mit byte-order-mark erzeugt beispielsweise den gleichen Inhalt wie ein utf8-Stream ohne einen Stream. Diese Präambelbytes sind jedoch Teil der Prüfsumme, was zu unterschiedlichen Ergebnissen führt.

Auf ähnliche Weise können zwei unterschiedliche SourceText Instanzen mit unterschiedlichem Inhalt in normalen Szenarien die gleiche Prüfsumme aufweisen. Dies liegt daran, dass die Verwendung von Encoding dazu führen kann, dass unterschiedliche Zeichen derselben Sequenz von codierten Bytes zugeordnet werden.

Daher sollte diese Funktion nur von Clients verwendet werden, die den genauen SHA-Hash aus den ursprünglichen Inhaltsbytes kennen müssen, und nicht für andere Zwecke.

Gilt für: