2011-08-04 23 views

回答

3

等效假設你想要返回一個字符串的MD5散列的Base64表示,這將是等效的:

public static string GetMD5Base64Hash(string strToHash) 
{ 
    byte[] byteStr = Encoding.UTF8.GetBytes(strToHash); 
    byte[] hashVal = (new System.Security.Cryptography.MD5CryptoServiceProvider()).ComputeHash(byteStr); 
    string base64Hash = Convert.ToBase64String(hashVal); 
    return base64Hash; 
} 
+0

有趣的是,對於任何strToHash,返回將'=='放在字符串的末尾。 – CapsLock

+0

我的意思是填充字節。有沒有辦法避免它們? – CapsLock

+0

@CapsLock:從技術上講,它們不是必須的,因爲你可以計算缺少的字節 - 我不知道'Convert.FromBase64String'是否需要它們正常工作。如果你使用不同的解碼程序,只需將它們切斷並找出! – BrokenGlass