# AssemblyHashAlgorithm Enum

## Definition

Specifies all the hash algorithms used for hashing files and for generating the strong name.

`public enum class AssemblyHashAlgorithm`

`public enum AssemblyHashAlgorithm`

```
[System.Serializable]
public enum AssemblyHashAlgorithm
```

```
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public enum AssemblyHashAlgorithm
```

`type AssemblyHashAlgorithm = `

```
[<System.Serializable>]
type AssemblyHashAlgorithm =
```

```
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type AssemblyHashAlgorithm =
```

`Public Enum AssemblyHashAlgorithm`

- Inheritance

- Attributes

## Fields

MD5 | 32771 | Retrieves the MD5 message-digest algorithm. MD5 was developed by Rivest in 1991. It is basically MD4 with safety-belts and while it is slightly slower than MD4, it helps provide more security. The algorithm consists of four distinct rounds, which has a slightly different design from that of MD4. Message-digest size, as well as padding requirements, remain the same. |

None | 0 | A mask indicating that there is no hash algorithm. If you specify |

SHA1 | 32772 | A mask used to retrieve a revision of the Secure Hash Algorithm that corrects an unpublished flaw in SHA. |

SHA256 | 32780 | A mask used to retrieve a version of the Secure Hash Algorithm with a hash size of 256 bits. |

SHA384 | 32781 | A mask used to retrieve a version of the Secure Hash Algorithm with a hash size of 384 bits. |

SHA512 | 32782 | A mask used to retrieve a version of the Secure Hash Algorithm with a hash size of 512 bits. |

## Remarks

A `hash function``H`

is a transformation that takes an input `m`

and returns a fixed-size string, which is called the hash value `h`

(that is, `h`

= `H`

(`m`

)). Hash functions with just this property have a variety of general computational uses, but when employed in cryptography, the hash functions are usually chosen to have some additional properties.

The basic requirements for a cryptographic hash function are:

The input can be of any length.

The output has a fixed length.

`H`

(`x)`

is relatively easy to compute for any given x.`H`

(`x`

) is one-way.`H`

(`x`

) is collision-free.

The hash value represents concisely the longer message or document from which it was computed; this value is called the message digest. You can think of a message digest as a digital fingerprint of the larger document. Examples of well-known hash functions are MD2 and SHA.