You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
73 lines
2.3 KiB
73 lines
2.3 KiB
2 years ago
|
using System;
|
||
|
using System.Security.Cryptography;
|
||
|
using System.Text;
|
||
|
namespace Elight.Utility.Encrypt
|
||
|
{/// <summary>
|
||
|
/// Md5
|
||
|
/// </summary>
|
||
|
public class Md5
|
||
|
{
|
||
|
/// <summary>
|
||
|
/// 加密32
|
||
|
/// </summary>
|
||
|
/// <param name="source">数据</param>
|
||
|
/// <returns>密文</returns>
|
||
|
public static string Encrypt32(string source)
|
||
|
{
|
||
|
MD5 md5 = new MD5CryptoServiceProvider();
|
||
|
byte[] t = md5.ComputeHash(Encoding.UTF8.GetBytes(source));
|
||
|
StringBuilder sb = new StringBuilder(32);
|
||
|
foreach (byte item in t)
|
||
|
{
|
||
|
sb.Append(item.ToString("x").PadLeft(2, '0'));
|
||
|
}
|
||
|
return sb.ToString();
|
||
|
}
|
||
|
|
||
|
/// <summary>
|
||
|
/// 加密16
|
||
|
/// </summary>
|
||
|
/// <param name="source">数据</param>
|
||
|
/// <returns>密文</returns>
|
||
|
public static string Encrypt16(string source)
|
||
|
{
|
||
|
MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider();
|
||
|
string t2 = BitConverter.ToString(md5.ComputeHash(Encoding.UTF8.GetBytes(source)), 4, 8);
|
||
|
t2 = t2.Replace("-", "");
|
||
|
return t2;
|
||
|
}
|
||
|
|
||
|
|
||
|
/// <summary>
|
||
|
/// MD5 加密字符串
|
||
|
/// </summary>
|
||
|
/// <param name="rawPass">源字符串</param>
|
||
|
/// <returns>加密后字符串</returns>
|
||
|
public static string MD5Encoding(string rawPass)
|
||
|
{
|
||
|
// 创建MD5类的默认实例:MD5CryptoServiceProvider
|
||
|
MD5 md5 = MD5.Create();
|
||
|
byte[] bs = Encoding.UTF8.GetBytes(rawPass);
|
||
|
byte[] hs = md5.ComputeHash(bs);
|
||
|
StringBuilder sb = new StringBuilder();
|
||
|
foreach (byte b in hs)
|
||
|
{
|
||
|
// 以十六进制格式格式化
|
||
|
sb.Append(b.ToString("x2"));
|
||
|
}
|
||
|
return sb.ToString();
|
||
|
}
|
||
|
|
||
|
/// <summary>
|
||
|
/// MD5盐值加密
|
||
|
/// </summary>
|
||
|
/// <param name="rawPass">源字符串</param>
|
||
|
/// <param name="salt">盐值</param>
|
||
|
/// <returns>加密后字符串</returns>
|
||
|
public static string MD5Encoding(string rawPass, object salt)
|
||
|
{
|
||
|
if (salt == null) return rawPass;
|
||
|
return MD5Encoding(rawPass + "{" + salt.ToString() + "}");
|
||
|
}
|
||
|
}
|
||
|
}
|