MD5, SHA256, SHA512雜湊演算法

2021-08-03 23:43:19 字數 4099 閱讀 5397

///

/// 實現各種字串hash雜湊演算法的類

///public

class stringhasher

return results;

}///

/// 將隨機生成的salt新增到字串,然後使用md5演算法對字串進行雜湊。

/// salt的長度與演算法生成的長度相同

//////

待雜湊的字串.

///salt 用於密碼.

///hash雜湊後的字串.

public

string

md5saltcomputehash(string stringtohash, out

string salt)

////// 驗證字串與另乙個md5雜湊字串。

//////

要驗證的字串.

///md5生成雜湊來驗證.

///字串是否匹配雜湊的布林值。

public

bool

md5verifyhash(string stringtoverify, string hash)

////// 驗證字串與另乙個md5 salt雜湊字串。

//////

要驗證的字串.

///md5 salt生成的雜湊來驗證

///salt 用於密碼

///字串是否與salt雜湊匹配的布林值

public

bool

md5saltverifyhash(string stringtoverify, string hash, string salt)

////// 使用sha256演算法hash字串

//////

待雜湊的字串.

///hash雜湊後的字串.

public

string

sha256computehash(string stringtohash)

return results;

}///

/// 將隨機生成的salt新增到字串,然後使用sha256演算法對字串進行雜湊

/// salt的長度與演算法生成的長度相同

//////

待雜湊的字串.

///salt 用於密碼.

///hash雜湊後的字串.

public

string

sha256saltcomputehash(string stringtohash, out

string salt)

////// 驗證字串與另乙個sha256雜湊字串。

//////

要驗證的字串.

///sha256生成雜湊來驗證.

///字串是否匹配雜湊的布林值.

public

bool

sha256verifyhash(string stringtoverify, string hash)

//////驗證字串與另乙個sha256 salt雜湊字串

//////

要驗證的字串.

///sha256 salt生成雜湊來驗證

///salt 用於密碼.

///字串是否與salt雜湊匹配的布林值

public

bool

sha256saltverifyhash(string stringtoverify, string hash, string salt)

////// 使用sha512演算法雜湊字串。

//////

要hash的字串.

///hash雜湊後的字串.

public

string

sha512computehash(string stringtohash)

return results;

}///

/// 將隨機生成的salt新增到字串,然後使用sha512演算法對該字串進行雜湊

/// salt與演算法生成的長度相同。

//////

要雜湊的字串.

///salt用於密碼.

///hash雜湊後的字串.

public

string

sha512saltcomputehash(string stringtohash, out

string salt)

///布林值,表示字串是否與雜湊匹配。

////// 驗證字串對與另乙個sha512雜湊字串。

//////

要驗證的字串.

///sha512生成的雜湊來驗證.

///符串是否與雜湊匹配的布林值.

public

bool

sha512verifyhash(string stringtoverify, string hash)

////// 將字串與另乙個sha512 salt雜湊字串進行驗證。

//////

要驗證的字串.

///sha512 salt生成的雜湊來驗證.

///salt用作密碼.

///字串是否與salt雜湊匹配的布林值.

public

bool

sha512saltverifyhash(string stringtoverify, string hash, string salt)

////// 使用傳遞的雜湊演算法計算字串的雜湊值

//////

用於計算的雜湊演算法.

///要雜湊的字串.

///hash後的字串.

private

static

string

computehash(hashalgorithm hashalgorithm, string stringtohash)

//////使用傳遞的雜湊演算法驗證字串與另乙個salt雜湊字串。

/// ///

要驗證的字串。

///生成的salt雜湊來驗證。

///鹽用於密碼。

///用於驗證的雜湊演算法。

///字串是否與salt雜湊匹配的布林值

private

static

bool

verifysalthash(string stringtoverify, string hash, string salt, hashalgorithmethod algorithmtoinvoke)

////// 處理雜湊演算法

//////

釋放的hash演算法.

private

static

void

disposealgorithm(hashalgorithm hashalgorithm)

////// 生成指定長度的隨機salt

//////

產生salt的長度

///隨機生成的salt.

private

static

string

generaterandomsalt(int saltlength)

//////將給定的位元組陣列轉換為相應的十六進製制字串。

/// ///

要轉換的bytes陣列。

///相應的字串表示。

private

static

string

bytestohexadecimalstring(byte bytestoconvert)

return hexadecimalstring.tostring();

}///

///比較兩個雜湊值,忽略他們的大小寫。

/// ///

要比較的第乙個雜湊。

///要比較的第二個雜湊。

///表示雜湊是否相等的布林值。

go語言加解密演算法 md5 sha256

md5介紹 md5的全稱為md5資訊摘要演算法 md5 message digest algorithm 是一種被廣泛應用的密碼雜湊函式,產生乙個128位 16位元組 的雜湊值,最常見的是32位的16進製表示,如 0caa3b23b8da53f9e4e041d95dc8fa2c,用以確保資訊傳輸的完...

C MVC通過MD5和SHA256加密

在寫文章之前,我也不知道這兩個是什麼東西,只知道這是加密用的,網上說的也都太抽象。誰讓人家本來就是抽象類來著。反正算是一種安全機制吧,寫這篇文章的目的首先分享一下自己的對md5和sha256的理解和應用,其次而最重要的就是希望大家提出自己的見解,互相交流。md5演算法因其普遍 穩定 快速的特點,仍廣...

MD5加密 SHA256加密 RSA加密

rsa加密 md5加密 1 md5加密較為可靠,需要引入commons codec 1.9.jar 2 md5加密不可逆,也就是加密後不能再根據加密的秘鑰去解密,網上md5解密實際上是暴力破解。如果需要可逆的話,請選擇des aes 異或 凱撒 rsa等。3 md5加密可以實現任何物件加密,這就決定...