c#官方推荐md5通用加密类

时间:2023-03-09 01:26:55
c#官方推荐md5通用加密类
/// <summary>
/// MD5加密
/// </summary>
/// <param name="input">需要加密的字符串</param>
/// <returns></returns>
public static string MD5Encrypt(string input)
{
return MD5Encrypt(input, new UTF8Encoding());
} /// <summary>
/// md5加密16|32位
/// </summary>
/// <param name="input"></param>
/// <param name="length"></param>
/// <returns></returns>
public static string MD5Encrypt(string input, int length)
{
string res = MD5Encrypt(input, new UTF8Encoding());
if (length == )
{
res = res.Substring(, );
}
return res;
} /// <summary>
/// MD5加密
/// </summary>
/// <param name="input">需要加密的字符串</param>
/// <param name="encode">字符的编码</param>
/// <returns></returns>
public static string MD5Encrypt(string input, Encoding encode)
{
if (string.IsNullOrEmpty(input))
{
return null;
}
MD5CryptoServiceProvider md5Hasher = new MD5CryptoServiceProvider();
byte[] data = md5Hasher.ComputeHash(encode.GetBytes(input));
StringBuilder sBuilder = new StringBuilder();
for (int i = ; i < data.Length; i++)
{
sBuilder.Append(data[i].ToString("x2"));
}
return sBuilder.ToString();
}