Hash Hash Hash Hash Class
Provides evidence about the hash value for an assembly. This class cannot be inherited.
public ref class Hash sealed : System::Security::Policy::EvidenceBase, System::Runtime::Serialization::ISerializable
[System.Runtime.InteropServices.ComVisible(true)] [System.Serializable] public sealed class Hash : System.Security.Policy.EvidenceBase, System.Runtime.Serialization.ISerializable
type Hash = class inherit EvidenceBase interface ISerializable
Public NotInheritable Class Hash Inherits EvidenceBase Implements ISerializable
A hash value represents a unique value that corresponds to a particular set of bytes. Rather than referring to an assembly by name, version, or other designation, a hash value designates the assembly without ambiguity. Names are subject to collisions in rare cases where the same name is given to completely different code. Different variations of code can accidentally be marked with the same version. However, even changing a single bit results in a very different hash value.
Hash values are a cryptographically secure way to refer to specific assemblies in policy without the use of digital signatures. A secure hash algorithm is designed so that it is computationally infeasible to construct a different assembly with the identical hash value by either an accidental or malicious attempt. By default, evidence from the SHA1 and MD5 hash algorithms is supported, although any hash algorithm can be used through GenerateHash.
Due to collision problems with MD5 and SHA1, Microsoft recommends a security model based on SHA256 or better.
|Hash(Assembly) Hash(Assembly) Hash(Assembly) Hash(Assembly)||
Initializes a new instance of the Hash class.
|MD5 MD5 MD5 MD5||
Gets the MD5 hash value for the assembly.
|SHA1 SHA1 SHA1 SHA1||
Gets the SHA1 hash value for the assembly.
|SHA256 SHA256 SHA256 SHA256||
Gets the SHA256 hash value for the assembly.