标签:cep arp detail substring .com c# 编码 turn converter
转自:https://blog.csdn.net/u011127019/article/details/51384246
一、SHA加密
/// <summary>
/// SHA1 加密,返回大写字符串
/// </summary>
/// <param name="content">需要加密字符串</param>
/// <returns>返回40位UTF8 大写</returns>
public static string SHA1(string content)
{
return SHA1(content, Encoding.UTF8);
}
/// <summary>
/// SHA1 加密,返回大写字符串
/// </summary>
/// <param name="content">需要加密字符串</param>
/// <param name="encode">指定加密编码</param>
/// <returns>返回40位大写字符串</returns>
public static string SHA1(string content, Encoding encode)
{
try
{
SHA1 sha1 = new SHA1CryptoServiceProvider();
byte[] bytes_in = encode.GetBytes(content);
byte[] bytes_out = sha1.ComputeHash(bytes_in);
sha1.Dispose();
string result = BitConverter.ToString(bytes_out);
result = result.Replace("-", "");
return result;
}
catch (Exception ex)
{
throw new Exception("SHA1加密出错:" + ex.Message);
}
}
二、md5加密
2.使用标准MD5CryptoServiceProvider 方法1
//方法1
//默认小写 32位加密
public static string GetMd532(string str)
{
MD5CryptoServiceProvider crypto = new MD5CryptoServiceProvider();
byte[] bytes = Encoding.UTF8.GetBytes(str);
bytes = crypto.ComputeHash(bytes);
StringBuilder builder = new StringBuilder();
foreach (var item in bytes)
{
builder.AppendFormat("{0:x2}", item);
}
return builder.ToString();
}
//默认小写 16位加密
public static string GetMd516(string str)
{
return GetMd532(str).Substring(8, 16);
}
3.使用标准MD5CryptoServiceProvider 方法2(推荐)
//方法2
//默认大写 32位加密
public static string GetMd5_32(string str)
{
MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider();
byte[] bytes = Encoding.UTF8.GetBytes(str);
string result = BitConverter.ToString(md5.ComputeHash(bytes));
return result.Replace("-", "");
}
//默认大写 16位加密
public static string GetMd5_16(string str)
{
MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider();
byte[] bytes = Encoding.UTF8.GetBytes(str);
string result = BitConverter.ToString(md5.ComputeHash(bytes),4,8);
return result.Replace("-", "");
}
4.测试
string str = "张三";
Console.WriteLine("FormsAuthentication:" + Md5Operate.HashMD5_String(str));
Console.WriteLine();
Console.WriteLine("md532:" + Md5Operate.GetMd532(str));
Console.WriteLine();
Console.WriteLine("md516:" + Md5Operate.GetMd516(str));
Console.WriteLine();
Console.WriteLine("md5_32:" + Md5Operate.GetMd5_32(str));
Console.WriteLine();
Console.WriteLine("md5_16:" + Md5Operate.GetMd5_16(str));
标签:cep arp detail substring .com c# 编码 turn converter
原文地址:https://www.cnblogs.com/xuqp/p/9208118.html