md5
- 格式:doc
- 大小:61.50 KB
- 文档页数:3
c# 用MD5 加密登录密码的实现。
收藏
using System.Security.Cryptography;
using System.Text;
byte[] upwd = (new ASCIIEncoding()).GetBytes(TextBoxPWD.Text);
byte[] mdpwdByte = puteHash(upwd);
string mdpwdString = (new ASCIIEncoding()).GetString(mdpwdByte);
mdpwdString 就是加密后数据,你添加用户,和验证都用到这个
原理就是:根据你输入的东西,再加密一次,然后跟数据库的那个对比。
全过程没有解密的
这个方法简单好用,我试过了,OK
方法二:
using System.Web.Security;
//pass就是人要加密的密码
pass =
System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfi gFile(pass, "MD5");
//16位加密
FormsAuthentication.HashPasswordForStoringInConfigFile(str,
"MD5").ToLower().Substring(8, 16);
首先,先简单介绍一下MD5
MD5的全称是message-digest algorithm 5(信息-摘要算法,在90年代初由mit laboratory for computer science和rsa data security inc的ronald l. rivest开发出来,经md2、md3和md4发展而来。
MD5具有很好的安全性(因为它具有不可逆的特征,加过密的密文经过解密后和加密前的东东相同的可能性极小)
引用
using System.Security.Cryptography;
using System.Text;
具体代码如下(写在按钮的Click事件里):
byte[] result = Encoding.Default.GetBytes(this.tbPass.Text.Trim()); //tbPass为输入密码的文本框
MD5 md5 = new MD5CryptoServiceProvider();
byte[] output = puteHash(result);
this.tbMd5pass.Text =
BitConverter.ToString(output).Replace("-",""); //tbMd5pass为输出加密文本的文本框
下面是做好的程序界面:
那么.知道了加密方法,该怎么使用呢?
呵呵,比如用户登录验证吧,你可以在用户注册时把用户的密码经过加密后存入数据库,然后在登录时再对用户输入的密码和数据库中的做下比较,如果相同的话就登录成功....实际上现在很多加密就是这种原理. 而不是大多数认为的把加过密的密文进行解密后和用户输入的密码作比较. 希望我的这篇文章对你有用.
md5加密,查询数据
sqldatareader 查询
if(数据.Equals(dr["字段".ToString())
{}
public string GetMD5_32(string s, string _input_charset)
{
MD5 md5 = new MD5CryptoServiceProvider();
byte[] t = puteHash(Encoding.GetEncoding(_input_charset).GetBytes(s)); StringBuilder sb = new StringBuilder(32);
for (int i = 0; i < t.Length; i++)
{
sb.Append(t[i].ToString("x").PadLeft(2, '0'));
}
return sb.ToString();
}。