Hash Class
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
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
public ref class Hash sealed : System::Runtime::Serialization::ISerializable
public sealed class Hash : System.Security.Policy.EvidenceBase, System.Runtime.Serialization.ISerializable
[System.Serializable]
public sealed class Hash : System.Runtime.Serialization.ISerializable
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public sealed class Hash : System.Runtime.Serialization.ISerializable
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public sealed class Hash : System.Security.Policy.EvidenceBase, System.Runtime.Serialization.ISerializable
type Hash = class
inherit EvidenceBase
interface ISerializable
[<System.Serializable>]
type Hash = class
interface ISerializable
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type Hash = class
interface ISerializable
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type Hash = class
inherit EvidenceBase
interface ISerializable
Public NotInheritable Class Hash
Inherits EvidenceBase
Implements ISerializable
Public NotInheritable Class Hash
Implements ISerializable
- Inheritance
- Inheritance
-
Hash
- Attributes
- Implements
Remarks
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.
Constructors
Hash(Assembly) |
Initializes a new instance of the Hash class. |
Properties
MD5 |
Gets the MD5 hash value for the assembly. |
SHA1 |
Gets the SHA1 hash value for the assembly. |
SHA256 |
Gets the SHA256 hash value for the assembly. |
Methods
Clone() |
Creates a new object that is a copy of the current instance. |
Clone() |
Creates a new object that is a complete copy of the current instance. (Inherited from EvidenceBase) |
CreateMD5(Byte[]) | |
CreateSHA1(Byte[]) | |
CreateSHA256(Byte[]) | |
Equals(Object) |
Determines whether the specified object is equal to the current object. (Inherited from Object) |
GenerateHash(HashAlgorithm) |
Computes the hash value for the assembly using the specified hash algorithm. |
GetHashCode() |
Serves as the default hash function. (Inherited from Object) |
GetObjectData(SerializationInfo, StreamingContext) |
Obsolete.
Gets the SerializationInfo object with the parameter name and additional exception information. |
GetType() |
Gets the Type of the current instance. (Inherited from Object) |
MemberwiseClone() |
Creates a shallow copy of the current Object. (Inherited from Object) |
ToString() |
Returns a string representation of the current Hash. |