Class HashFunctions

This class generates and compares hashes using MD5, SHA1, SHA256, SHA384, and SHA512 hashing algorithms. Before computing a hash, it appends a randomly generated salt to the plain text, and stores this salt appended to the result. To verify another plain text value against the given hash, this class will retrieve the salt value from the hash string and use it when computing a new hash of the plain text. Appending a salt value to the hash may not be the most efficient approach, so when using hashes in a real-life application, you may choose to store them separately. You may also opt to keep results as byte arrays instead of converting them into base64-encoded strings.

public static class HashFunctions : object


Adapted from

Class Members



Generates a hash for the given plain text value and returns a base64-encoded result. Before the hash is computed, a random salt is generated and appended to the plain text. This salt is stored at the end of the hash value, so it can be used later for hash verification.

public static string ComputeHash(string plainText,     string hashAlgorithm,     Byte[] saltBytes)

public static string ComputeHash(string plainText,     string hashAlgorithm)

public static string ComputeHash(string plainText)


Compares a hash of the specified plain text value to a given hash value. Plain text is hashed with the same salt value as the original hash.

public static bool VerifyHash(string plainText,     string hashAlgorithm,     string hashValue)

public static bool VerifyHash(string plainText,     string hashValue)


Namespace: Stonefield.Library
Assembly: library.dll