密码md5加密
Ⅰ 登录怎么对密码MD5加密
获取到需要加密的字符串、然后传值到MD5方法里即可。
如: string str="我要加密";
MD5(str);
public string MD5(string str)
{
//加密操作。
}
Ⅱ 注册界面如何把密码用MD5加密
protected void check_Click(object sender, EventArgs e)
{
string uname = Session["UserName"].ToString();
UserinfoBll usersbll = new UserinfoBll();
Userinfo users = usersbll.GetModelByName(uname);
if (users.passwords.Equals(SecurityEncryption.MD5(this.oldPwd.Text.Trim(), 32)))
{
this.lab1.Text = "密码正确!";
this.newPwd.Focus();
}
else
{
this.lab1.Text = "密码错误!";
this.oldPwd.Focus();
}
}
protected void btnSubmit_Click(object sender, EventArgs e)
{
string uname = Session["UserName"].ToString();
UserinfoBll usersbll = new UserinfoBll();
Userinfo users = usersbll.GetModelByName(uname);
users.passwords = SecurityEncryption.MD5(this.newPwd.Text.Trim(), 32);
if (this.newPwd.Text.Trim().Equals("") || this.newPwd.Text.Trim().Equals(null))
{
this.lab2.Text = "请输入密码!";
}
else {
if (this.newPwd.Text.Trim() == this.uPwdcheck.Text.Trim())
{
int resu = usersbll.Update(users);
if (resu > 0)
{
ClientScript.RegisterStartupScript(ClientScript.GetType(), "myscript", "<script> alert('密码修改成功!');</script>");
}
else
{
ClientScript.RegisterStartupScript(ClientScript.GetType(), "fail", "<script>alert('修改失败!')</script>");
}
}
else {
this.lab2.Text = "密码不一致!";
}
}
}}
修改密码!
原理一样的
登陆的:
public class SecurityEncryption
{
#region MD5加密算法
/// <summary>
/// MD5加密算法
/// </summary>
/// <param name="str">字符串</param>
/// <param name="code">加密方式,16或32</param>
/// <returns></returns>
public static string MD5(string str, int code)
{
if (code == 16) //16位MD5加密(取32位加密的9~25字符)
{
return System.Web.Security.FormsAuthentication.(str, "MD5").ToUpper().Substring(8, 16);
}
else//32位加密
{
return System.Web.Security.FormsAuthentication.(str, "MD5").ToUpper();
}
}
#endregion
}
protected void SetHeight()
{
if (s == 1)
{
this.Session["tabheight"] = int.Parse(this.txtheight.Value.ToString()) - 5;
}
else
{
this.Session["tabheight"] = this.txtheight.Value;
}
}
protected void Check()
{
if (txtName.Value.Trim() == "")
{
System.Web.UI.ScriptManager.RegisterStartupScript(this, this.GetType(), "", "alert('用户名不能为空!');", true);
this.txtName.Focus();
return;
}
if (txtYzm.Value.Trim() == "")
{
System.Web.UI.ScriptManager.RegisterStartupScript(this, this.GetType(), "", "alert('验证码不能为空!');", true);
txtYzm.Focus();
return;
}
bool flag = false;
if (txtYzm.Value.Trim().ToLower().ToLowerInvariant() == Session["txtName"].ToString().ToLowerInvariant())
{
flag = true;
}
if (flag)
{
Userinfo user = UserinfoBll.GetUserByName(txtName.Value.Trim());
if (user != null)
{
string pwd = SecurityEncryption.MD5(this.txtPwd.Value.Trim(), 32);
if (user.passwords == pwd)
{
//this.Session["name"] = txtName.Value;
//this.Session["pass"] = txtPwd.Value;
this.Session.Add("UserName", user.username);
this.Session.Add("UserId", user.id);
this.Session.Add("LoginTime", DateTime.Now.ToLongTimeString());
FormsAuthentication.RedirectFromLoginPage(user.username, false);
LogHistory login = new LogHistory();
LogHistoryBll loginbll = new LogHistoryBll();
Userinfo use = new Userinfo();
UserinfoBll userinfoBll = new UserinfoBll();
user.bupotime = Convert.ToString(DateTime.Now);
userinfoBll.UpdateTime(user);
login.HistoryTime = DateTime.Now;
login.RoleId = user.id;
login.LogTag = 0;
loginbll.Add(login);
//判断登录权限dqh
CheckPur();
}
else
{
System.Web.UI.ScriptManager.RegisterStartupScript(this, this.GetType(), "", "alert('用户名或密码错误!请重输');", true);
}
}
else
{
System.Web.UI.ScriptManager.RegisterStartupScript(this, this.GetType(), "", "alert('没有这个用户');", true);
txtName.Focus();
}
}
else
{
System.Web.UI.ScriptManager.RegisterStartupScript(this, this.GetType(), "", "alert('验证码出错!');", true);
txtYzm.Value = "";
txtYzm.Focus();
}
valiCode.Src = "VerifyCode.aspx?id=" + MakeValidateCode();
}
Ⅲ md5加密后,要找回密码,如何找回正常的密码,而不是加密后的密码
破解基本上是不可能的。MD5是“摘要算法”,目的就是根据结果不能推出原文,在数学上是单向函数。
我建议你这样做,自己随便起个密码(如:“1111111”),你用MD5计算之后,把这个值写入数据库,然后告诉你的用户他的密码被重置为“11111111”就OK了。
Ⅳ 用md5加密加 用户密码
用户登陆时,用同样算法把用户登陆输入的密码也加密,再与数据库中数据比较就行了啊
Ⅳ MD5加密过的密码
http://www.xmd5.com/index_cn.htm
先搜下别人收集的数据库中有没有:)
Ⅵ 登录系统中密码用MD5加密有何作用防谁呢
又不是直接用md5加密 其中还包含很多规则 比如密码加上用户名和一个数字之后再MD5 只是提高安全性而已
Ⅶ 怎么查看md5加密的密码
用一个密码用MD5加密,然后通过MD5破解到还原后的密码。可以看出现在的MD5密码加密其实也并不是百分百的安全,至少一部分加密后的密码可以在网上免费查出来,原理也相当简单,就是通过数据库比对的方式查询已知的加密密码的MD5来获取到原密码,文章中作者有一点没有提及个解密的网站,据说那个网站现在的解密数据量达到TB级别,现在大部分黑客在入侵的时候都有用到过这个网站的解密功能,相信不少网站的沦陷都有这个解密站点的帮忙。还有一点就是,这个网站对于一些简单的解密是免费的,对于一些复杂的密码,就需要付费了。
原文的作者有提到说利用用户查询MD5密码的时候搜集这些信息,然后制成数据库再卖钱,这一点我觉得可行性还是有的,但是做起来却不是那么容易,毕竟收集比较耗时,而且量并不一定大,有人曾传言:MD5的解密数据都是收集了很多国内外大型社区的用户数据库整理来的,人家用现在成的,省了收集这个程序。按照之前的说法,数据库达到TB级别了,再用这个数据库做破解程序,似乎有点过份了,这个程序,估计得是这个世界上最大的一个程序了。
Ⅷ MD5加密是怎么实现加密的
什么是MD5???---MD5的全称是Message-Digest Algorithm 5
MD5的典型应用是对一段信息(Message)产生信息摘要(Message-Digest),以防止被篡改。比如,在UNIX下有很多软件在下载的时候都有一个文件名相同,文件扩展名为.md5的文件,在这个文件中通常只有一行文本,大致结构如:
MD5 (tanajiya.tar.gz) =
这就是tanajiya.tar.gz文件的数字签名。MD5将整个文件当作一个大文本信息,通过其不可逆的字符串变换算法,产生了这个唯一的MD5信息摘要。如果在以后传播这个文件的过程中,无论文件的内容发生了任何形式的改变(包括人为修改或者下载过程中线路不稳定引起的传输错误等),只要你对这个文件重新计算MD5时就会发现信息摘要不相同,由此可以确定你得到的只是一个不正确的文件。如果再有一个第三方的认证机构,用MD5还可以防止文件作者的 "抵赖",这就是所谓的数字签名应用。
MD5还广泛用于加密和解密技术上。比如在UNIX系统中用户的密码就是以MD5(或其它类似的算法)经加密后存储在文件系统中。当用户登录的时候,系统把用户输入的密码计算成MD5值,然后再去和保存在文件系统中的MD5值进行比较,进而确定输入的密码是否正确。通过这样的步骤,系统在并不知道用户密码的明码的情况下就可以确定用户登录系统的合法性。这不但可以避免用户的密码被具有系统管理员权限的用户知道,而且还在一定程度上增加了密码被破解的难度。
正是因为这个原因,现在被黑客使用最多的一种破译密码的方法就是一种被称为"跑字典"的方法。有两种方法得到字典,一种是日常搜集的用做密码的字符串表,另一种是用排列组合方法生成的,先用MD5程序计算出这些字典项的MD5 值,然后再用目标的MD5值在这个字典中检索。我们假设密码的最大长度为8位字节(8 Bytes),同时密码只能是字母和数字,共26+26+10=62个字符,排列组合出的字典的项数则是P(62,1)+P(62,2)….+P (62,8),那也已经是一个很天文的数字了,存储这个字典就需要TB级的磁盘阵列,而且这种方法还有一个前提,就是能获得目标账户的密码MD5值的情况下才可以。这种加密技术被广泛的应用于UNIX系统中,这也是为什么UNIX系统比一般操作系统更为坚固一个重要原因。
Ⅸ 怎么把MD5加密过后的解密为明文密码
md5通常用来加密密码,再存放的数据库中,这样人家无法在数据库中查看到原来的密码。
如果原来的密码比较简单,比如8位以下的数字,5位以下的字母等等,有一些解密网站提供解密服务。如果原密码足够复杂,比如字母数字混合10位以上,基本上是解不出来的。
Ⅹ 网站后台密码MD5加密
没有人愿意的``很累 你自己试下16解