///
/// 實現各種字串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加密可以實現任何物件加密,這就決定...