2011-08-04 20 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