c# 用MD5 加密登录密码 怎么实现。。。

suners 2008-12-26 02:29:01
就是在登录时后加密数据密码到数据库表中
...全文
884 26 打赏 收藏 转发到动态 举报
写回复
用AI写文章
26 条回复
切换为时间正序
请发表友善的回复…
发表回复
shelly 2012-06-12
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 的回复:]

C# code

public class Encrypt_Decrypt
{
//对密码进行MD5加密的函数(添加盐值:&%#@?,:*)
public string getEncryPassword(string Password)
{
string EncryedPassword=FormsA……
[/Quote]

一下一个产生一个随机的一个盐值:
private string CreateSalt()
{
byte[] bytSalt = new byte[8];
RNGCryptoServiceProvider rng;

rng = new RNGCryptoServiceProvider();

rng.GetBytes(bytSalt);

return Convert.ToBase64String(bytSalt);
}
比如在存用户的密码时,密码用MD5加盐值,那下次用户登录时,密码不是匹配不上了,因为盐值时随机数啊,这可怎么办,求指点。。。。。!!!!!
bestdowt1314 2008-12-29
  • 打赏
  • 举报
回复
恩,收藏资料,会用到的.
suners 2008-12-29
  • 打赏
  • 举报
回复
FormsAuthentication.HashPasswordForStoringInConfigFile(pToEncrypt,"MD5");说什么不存在
我晕
和我这个
System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(tbpwd.Text.Trim(), "md5"); 出错在这里

也没啥区别呀
请详细指点下了
psp3000sky 2008-12-29
  • 打赏
  • 举报
回复
2楼是对的,注意引用和格式
suners 2008-12-29
  • 打赏
  • 举报
回复
是正解课我不理解
郁闷
executemylove 2008-12-29
  • 打赏
  • 举报
回复
搞这么复杂干嘛?2楼就是正解
suners 2008-12-29
  • 打赏
  • 举报
回复
zenme 怎么搞i
whitechololate 2008-12-29
  • 打赏
  • 举报
回复
mark
suners 2008-12-26
  • 打赏
  • 举报
回复
/// <summary>
/// MD5加密函数
/// </summary>
/// <param name="str_text">原始字符串 </param>
/// <returns>MD5结果 </returns>
public static string UserMD5(string str_text)
{
MD5 md5 = new MD5CryptoServiceProvider();
System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(tbpwd.Text.Trim(), "md5"); 出错在这里

byte[] srctext = Encoding.Unicode.GetBytes(str_text);
byte[] tartext = md5.ComputeHash(srctext);
string str = "";
for (int i = 0; i < tartext.Length; i++)
{
str += tartext[i].ToString("x").PadLeft(2,'0');
}
return str; }



到地放到哪里才能起到加密的作用
abcyzq 2008-12-26
  • 打赏
  • 举报
回复
fdafd
wengjj1985 2008-12-26
  • 打赏
  • 举报
回复
2楼正解
hernmmy 2008-12-26
  • 打赏
  • 举报
回复
using System.Web.Security;
//pass就是人要加密的密码
pass = System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(pass, "MD5");
gsmlove 2008-12-26
  • 打赏
  • 举报
回复
mark
  • 打赏
  • 举报
回复 1
using System.Security.Cryptography;
using System.Text;

byte[] upwd = (new ASCIIEncoding()).GetBytes(TextBoxPWD.Text);
byte[] mdpwdByte = md5.ComputeHash(upwd);
string mdpwdString = (new ASCIIEncoding()).GetString(mdpwdByte);

mdpwdString 就是加密后数据,你添加用户,和验证都用到这个
原理就是:根据你输入的东西,再加密一次,然后跟数据库的那个对比 。全过程没有解密的
这个方法简单好用,我试过了,OK
舞台中央的我 2008-12-26
  • 打赏
  • 举报
回复
private string ConvertPassword(string strPassword) //パスワードの加密

{
MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider();
string strConvert = BitConverter.ToString(md5.ComputeHash(UTF8Encoding.Default.GetBytes(strPassword)),0);
strConvert = strConvert.Replace("-","");
return strConvert;
}
suners 2008-12-26
  • 打赏
  • 举报
回复
实现不了呢
晕死了。、。
舞台中央的我 2008-12-26
  • 打赏
  • 举报
回复
xuexi 自己做程序时用过不过自己 还没有真正明白 学习!!!!!![Quote=引用 8 楼 houzhenya 的回复:]
C# code
using System.Security.Cryptography;
public static string encryptPassword(string xPwd)
{
byte[] data = new byte[xPwd.Length];
int i = 0;
foreach (char c in xPwd.ToCharArray())
{
data[i] = Convert.ToByte(c);
i++;
}

MD5 md5 = new MD5CryptoServiceProvider();


[/Quote]
suners 2008-12-26
  • 打赏
  • 举报
回复
en 恩 都添加引用了
houzhenya 2008-12-26
  • 打赏
  • 举报
回复
 
using System.Security.Cryptography;
public static string encryptPassword(string xPwd)
{
byte[] data = new byte[xPwd.Length];
int i = 0;
foreach (char c in xPwd.ToCharArray())
{
data[i] = Convert.ToByte(c);
i++;
}

MD5 md5 = new MD5CryptoServiceProvider();

byte[] result = md5.ComputeHash(data);
return Convert.ToBase64String(result);
}
要添加引用
wuyq11 2008-12-26
  • 打赏
  • 举报
回复

MD5CryptoServiceProvider md5Hasher = new MD5CryptoServiceProvider();
byte[] hashedBytes = null;
UTF8Encoding encoder = new UTF8Encoding();
hashedBytes = md5Hasher.ComputeHash(encoder.GetBytes(txtPwd.Text));
加载更多回复(6)

110,570

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧