C#如何实现MD5存储密码
记得C#系统好像是提供了一个机制来自动讲密码明文存储成MD5的吧或者应该怎么来实现,谢谢各位大兄指点...
记得C#系统好像是提供了一个机制来自动讲密码明文存储成MD5的吧
或者应该怎么来实现,谢谢各位大兄指点 展开
或者应该怎么来实现,谢谢各位大兄指点 展开
3个回答
展开全部
/// 使用MD5加密encrypt
/// </summary>
/// <param name="str">需要加密的密码</param>
/// <returns>加密后的字符串</returns>
public string GetMd5(string str)
{
string password = "";
MD5 md5 = MD5.Create(); //实例化一个md5对像
byte[] bytes = md5.ComputeHash(Encoding.UTF8.GetBytes(str));//加密后是一个字节类型的数组
//将得到的字符串使用十六进制类型格式
for (int i = 0; i < bytes.Length; i++)
{
password = password + bytes[i].ToString();
}
return password;
}
//使用stringBuider 类进行最后的字符串拼接,更高效一点..
/// </summary>
/// <param name="str">需要加密的密码</param>
/// <returns>加密后的字符串</returns>
public string GetMd5(string str)
{
string password = "";
MD5 md5 = MD5.Create(); //实例化一个md5对像
byte[] bytes = md5.ComputeHash(Encoding.UTF8.GetBytes(str));//加密后是一个字节类型的数组
//将得到的字符串使用十六进制类型格式
for (int i = 0; i < bytes.Length; i++)
{
password = password + bytes[i].ToString();
}
return password;
}
//使用stringBuider 类进行最后的字符串拼接,更高效一点..
更多追问追答
追问
再问一下,怎么把她解密出来,比如说,密码是123
存放在数据库的是一段乱码,如何让我输入正确123能登陆呢
如何使用其正确登陆,不然加密后用户设置的密码不能登陆,东西也算是失败的啊
追答
大哥,, MD5及大部分的加密方式, 都是单向的, 只能加密,MD5的解密,是世界难题, 不过貌似被山东大学的一位女教授给成功解密了,,, 至于你说的, 加密了一堆乱码怎么登录? 简单, 登录的时候,把密码再加密一遍, 然后跟数据库中注册时加密的比对,就OK了,,, 你注意到一个细节了吗? 大部分网站, 只让你重置密码,而不让你找回, 就是这个道理, 因为他也不知道你的密码是多少, 但可以判断你的密码是否正确, 复合条件后, 再重置你忘记的密码就OK叻... 记得前不久CSDN被爆库吗? 就是因为它使用明文密码,导致用户资料被泄,,用了单向密码加密,如果你的服务器被X了,黑客先生也只能瞎瞪眼,,, 你的明白?
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
using System.Security.Cryptography;
public string Md5Str(string pwd)
{
MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider();
string t2 = BitConverter.ToString(md5.ComputeHash(UTF8Encoding.Default.GetBytes(convertString))).ToLower();
t2 = t2.Replace("-", "");
return t2;
}
直接完成,ok。
public string Md5Str(string pwd)
{
MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider();
string t2 = BitConverter.ToString(md5.ComputeHash(UTF8Encoding.Default.GetBytes(convertString))).ToLower();
t2 = t2.Replace("-", "");
return t2;
}
直接完成,ok。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
直接用库的md5类来加密咯
更多追问追答
追问
嗯,就是想问下大侠,这儿怎么弄,来段具体的嘛,谢谢 了
追答
using System;
using System.Collections.Generic;
using System.Text;
using System.Security.Cryptography;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
byte[] input = new byte[30];
byte[] output;
MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider();
output = md5.ComputeHash(input);
}
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询