16位方法如下:/// <summary>
/// 获得MD5的16进制结果
/// </summary>
public static string GetMD5(string encryptStr)
{
System.Security.Cryptography.MD5 md5 = new MD5CryptoServiceProvider();
byte[] bytResult = md5.ComputeHash(System.Text.Encoding.Default.GetBytes(encryptStr));
string strResult = BitConverter.ToString(bytResult);
strResult = strResult.Replace("-", "");
return strResult; }网上查了下,乱糟糟的一堆,不要复制过来了。
有没有整合好的方法,直接调用就可以?通过40分送上,秒结贴。
/// 获得MD5的16进制结果
/// </summary>
public static string GetMD5(string encryptStr)
{
System.Security.Cryptography.MD5 md5 = new MD5CryptoServiceProvider();
byte[] bytResult = md5.ComputeHash(System.Text.Encoding.Default.GetBytes(encryptStr));
string strResult = BitConverter.ToString(bytResult);
strResult = strResult.Replace("-", "");
return strResult; }网上查了下,乱糟糟的一堆,不要复制过来了。
有没有整合好的方法,直接调用就可以?通过40分送上,秒结贴。
{
byte[] s = { 115, 26, 53, 34, 75, 36, 88, 12 };
byte[] key = { 192, 23, 83, 41, 35, 64, 89, 78, 41, 72, 63, 45, 95, 26, 8, 7, 138, 2, 13, 244, 105, 126, 158, 172 };
TripleDESCryptoServiceProvider tDESalg = new TripleDESCryptoServiceProvider();
tDESalg.Key = key;
tDESalg.IV = s;
FileStream fsread = new FileStream(sInputFilename, FileMode.Open, FileAccess.Read);
ICryptoTransform desdecrypt = tDESalg.CreateDecryptor();
CryptoStream cryptostreamDecr = new CryptoStream(fsread, desdecrypt, CryptoStreamMode.Read);
XmlDocument doc = new XmlDocument();
XmlReader reader = XmlReader.Create(cryptostreamDecr);
doc.Load(reader);
}
/// MD5 32位加密
/// </summary>
/// <param name="str"></param>
/// <returns></returns>
static string UserMd5(string str)
{
string cl = str;
string pwd = "";
System.Security.Cryptography.MD5 md5 = System.Security.Cryptography.MD5.Create();//实例化一个md5对像
// 加密后是一个字节类型的数组,这里要注意编码UTF8/Unicode等的选择
byte[] s = md5.ComputeHash(System.Text.Encoding.UTF8.GetBytes(cl));
// 通过使用循环,将字节类型的数组转换为字符串,此字符串是常规字符格式化所得
for (int i = 0; i < s.Length; i++)
{
// 将得到的字符串使用十六进制类型格式。格式后的字符是小写的字母,如果使用大写(X)则格式后的字符是大写字符
pwd = pwd + s[i].ToString("X"); }
return pwd;
}
{
MD5 md5 = new MD5CryptoServiceProvider(); byte[] res = md5.ComputeHash(Encoding.Default.GetBytes(input), 0, input.Length);
char[] temp = new char[res.Length]; System.Array.Copy(res, temp, res.Length); return new String(temp);
} /// <summary>
/// 获得MD5的16进制结果
/// </summary> public static string GetMD5HashHex(String input)
{
MD5 md5 = new MD5CryptoServiceProvider();
DES des = new DESCryptoServiceProvider();
byte[] res = md5.ComputeHash(Encoding.Default.GetBytes(input), 0, input.Length); String returnThis = ""; for (int i = 0; i < res.Length; i++)
{
returnThis += System.Uri.HexEscape((char)res[i]);
}
returnThis = returnThis.Replace("%", "");
returnThis = returnThis.ToLower(); return returnThis;
}
/// MD5加密 ---王雷 2007
///Email:[email protected]
/// </summary>
public class MD5
{
public MD5()
{ }
/// <summary>
/// 转换到MD5
/// </summary>
/// <param name="str">加密前字符串</param>
/// <param name="code">16位加密还是32位加密</param>
/// <returns>加密后字符串</returns>
public string to_md5(string str, int code)
{
if (code == 16) //16位MD5加密(取32位加密的9~25字符)
{
return System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(str, "MD5").ToLower().Substring(8, 16);
}
if (code == 32) //32位加密
{
return System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(str, "MD5").ToLower();
}
return "00000000000000000000000000000000";
}
}
}
winform 程序, 呵呵、
不是web程序。
{
MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider();
byte[] encryptedBytes = md5.ComputeHash(Encoding.ASCII.GetBytes(inputString));
StringBuilder sb = new StringBuilder();
for (int i = 0; i < encryptedBytes.Length; i++)
{
sb.AppendFormat("{0:x2}", encryptedBytes[i]);
}
return sb.ToString();
}
using System.Security.Cryptography;
using System.Text;