风舞残阳 2008-4-2 13:43
c# MD5加密算法的实例
[wiki]环境[/wiki]:vs.net2005/sqlserver2000/xp[wiki]测试[/wiki]通过
1.MD5 16位加密实例
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Text;
usingSystem.Security.Cryptography;
namespacemd5
{
classProgram
{
staticvoidMain(string[]args)
{
Console.WriteLine(UserMd5("8"));
Console.WriteLine(GetMd5Str("8"));
}
/**////%26lt;summary%26gt;
///MD516位加密
///%26lt;/summary%26gt;
///%26lt;paramname="ConvertString"%26gt;%26lt;/param%26gt;
///%26lt;returns%26gt;%26lt;/returns%26gt;
publicstaticstringGetMd5Str(stringConvertString)
{
MD5CryptoServiceProvidermd5=newMD5CryptoServiceProvider();
stringt2=BitConverter.ToString(md5.ComputeHash(UTF8Encoding.Default.GetBytes(ConvertString)),4,8);
t2=t2.Replace("-","");
returnt2;
}
[u]
[color=#0000ff]http://www.cnblogs.com/sopper/archive/2007/01/08/615111.html[/color]
[/u]
/**////%26lt;summary%26gt;
///MD5 32位加密
///%26lt;/summary%26gt;
///%26lt;paramname="str"%26gt;%26lt;/param%26gt;
///%26lt;returns%26gt;%26lt;/returns%26gt;
staticstringUserMd5(stringstr)
{
stringcl=str;
stringpwd="";
MD5md5=MD5.Create();//实例化一个md5对像
//加密后是一个字节[wiki]类[/wiki]型的数组,这里要注意编码UTF8/Unicode等的选择
byte[]s=md5.ComputeHash(Encoding.UTF8.GetBytes(cl));
//通过使用循环,将字节类型的数组转换为字符串,此字符串是常规字符格式化所得
for(inti=0;i%26lt;s.Length;i++)
{
//将得到的字符串使用十六进制类型格式。格式后的字符是小写的字母,如果使用大写(X)则格式后的字符是大写字符
pwd=pwd+s[i].ToString("X");
}
returnpwd;
}
}
}