CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  ASP.NET

MD5密码加密问题

楼主wenquan_nn(求学者)2005-03-08 15:16:30 在 .NET技术 / ASP.NET 提问

在用户注册的时候,在后台取得密码的值并将其转换成md5,然后就保存到数据库。  
  当用户登录需要进行密码比对的时候,两次生的md5密码不一样,这是为什么,md5  
  的工作原理是什么??  
   
  我的做法,(登录界面)对输入的密码进行md5转换,在以参数的形式传到数据库进行  
  核对!!注册和登陆输入的密码一样,但转成md5以后就不一样了??  
  请问我该如何处理这个问题??  
   
  望大家指点一二!!感谢! 问题点数:20、回复次数:5Top

1 楼china2001ok(开心拽拽)回复于 2005-03-08 15:21:56 得分 5

先给每个注册用户一个MD5   密码(用户注册页面中输入的密码   然后用MD5加密   存入数据库表)   然后等用户输入   自己密码时   再用MD5加密   来和数据库中的密码对比Top

2 楼wenquan_nn(求学者)回复于 2005-03-08 15:34:13 得分 0

感谢你的回复!  
  做法一样,但两次加密的密码都是不一样的?  
   
  我是使用这个方法加密的:  
   
  string   password   =   FormsAuthentication.HashPasswordForStoringInConfigFile(passwordTxt.Text,"MD5");Top

3 楼china2001ok(开心拽拽)回复于 2005-03-08 15:44:49 得分 1

是这样的啊   有什么问题   两次出来的不一样??Top

4 楼houlinghouling(秋水伊)回复于 2005-03-08 15:56:20 得分 13

自己写一个加密的方法好了.给你一个  
  ///   <summary>  
  ///   加密方法  
  ///   </summary>  
  ///   <param   name="Source">待加密的串</param>  
  ///   <returns>经过加密的串</returns>  
  public   string   Encrypto(string   Source)  
  {  
  byte[]   bytIn   =   UTF8Encoding.UTF8.GetBytes(Source);  
  MemoryStream   ms   =   new   MemoryStream();  
  mobjCryptoService.Key   =   GetLegalKey();  
  mobjCryptoService.IV   =   GetLegalIV();  
  ICryptoTransform   encrypto   =   mobjCryptoService.CreateEncryptor();  
  CryptoStream   cs   =   new   CryptoStream(ms,   encrypto,   CryptoStreamMode.Write);  
  cs.Write(bytIn,   0,   bytIn.Length);  
  cs.FlushFinalBlock();  
  ms.Close();  
  byte[]   bytOut   =   ms.ToArray();  
  return   Convert.ToBase64String(bytOut);  
  }  
  ///   <summary>  
  ///   解密方法  
  ///   </summary>  
  ///   <param   name="Source">待解密的串</param>  
  ///   <returns>经过解密的串</returns>  
  public   string   Decrypto(string   Source)  
  {  
  byte[]   bytIn   =   Convert.FromBase64String(Source);  
  MemoryStream   ms   =   new   MemoryStream(bytIn,   0,   bytIn.Length);  
  mobjCryptoService.Key   =   GetLegalKey();  
  mobjCryptoService.IV   =   GetLegalIV();  
  ICryptoTransform   encrypto   =   mobjCryptoService.CreateDecryptor();  
  CryptoStream   cs   =   new   CryptoStream(ms,   encrypto,   CryptoStreamMode.Read);  
  StreamReader   sr   =   new   StreamReader(cs);  
  return   sr.ReadToEnd();  
  }Top

5 楼posemanboy(奇货可居)回复于 2005-03-08 16:00:04 得分 1

支持一下Top

相关问题

  • 密码加密
  • 密码的加密
  • 把密码加密
  • 怎样给windows 加密码?
  • 怎样给windows 加密码?
  • 给注册表加密码
  • 请问怎么加密码??
  • asp.net怎么加密密码
  • Access 如何加密码
  • 密码加密问题

关键词

  • 加密
  • 密码
  • 数据库
  • 解密
  • 用户
  • 注册
  • source
  • mobjcryptoservice
  • encrypto
  • bytin

得分解答快速导航

  • 帖主:wenquan_nn
  • china2001ok
  • china2001ok
  • houlinghouling
  • posemanboy

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo