using System;
using System.Collections.Generic;
using System.Security.Cryptography;
using System.Text;
namespace Nirvana.Common
{
///
/// MD5加密
///
public class Md5
{
///
/// MD5加密
///
/// 加密字符
/// 加密位数16/32
///
public static string md5(string str, int code)
{
string strEncrypt = string.Empty;
if (code == 16)
{
MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider();
strEncrypt = System.BitConverter.ToString(md5.ComputeHash(System.Text.UTF8Encoding.Default.GetBytes(str)), 4, 8).Replace("-", "");
}
if (code == 32)
{
MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider();
strEncrypt = System.BitConverter.ToString(md5.ComputeHash(System.Text.Encoding.Default.GetBytes(str))).Replace("-", "");
}
return strEncrypt;
}
///
/// MD5加密
///
/// 需要加密的字符串
/// 字符的编码
///
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 = 0; i < data.Length; i++)
{
sBuilder.Append(data[i].ToString("X2"));
}
return sBuilder.ToString();
}
}
}