ASP.NET下实现密码MD5加密
2012-02-15 16:15
344 查看
在大学期间,做项目从来不管密码是不是明文存储,如今到了公司,肯定就不一样了。至于CSDN居然用明文存储密码,显然是脑残行为。所以现在做系统,密码全部加密,好在.NET中已经提供了现成的MD5加密算法,调用一个简单的函数就搞定了。
1、引用命名空间
2、编写加密函数,这里就给出一个例子,估计还有很多种方法,这些方法无非是替换什么字符串罢了,本质都差不多,一个显然就够了
3、调用这个函数即可,传个用户输入的密码,调用此函数,获取函数返回值,一个string而已
在我看来,登录的时候流程应该如下:
1、判断用户是否输入验证码
2、判断用户是否输入用户名和密码
3、对用户的密码进行MD5加密
4、拿用户的用户名和加密后的字符串去数据库中查询,看是否有结果
5、有结果成功否则就失败
在网上看到MD5加密后无法轻易解密,好在同一个字符串无论多少次用MD5加密得到的结果都一样。所以在创建用户的时候,就要对密码进行MD5加密,这样数据库中保存的全是MD5加密后的字符串,这样才可以进行匹配。管理员权限再高也不知道用户的密码,这才能真正确保安全。话说回来,这年头,管理员的素质真是不敢恭维。
1、引用命名空间
using System.Security.Authentication;
2、编写加密函数,这里就给出一个例子,估计还有很多种方法,这些方法无非是替换什么字符串罢了,本质都差不多,一个显然就够了
public static string GetMD5(string str) { byte[] b=System.Text.Encoding.Default.GetBytes(str); b=new System.Security.Cryptography.MD5CryptoServiceProvider().ComputeHash(b); string ret= " "; for(int i=0;i <b.Length;i++) { ret+=b[i].ToString ( "x").PadLeft(2, '0'); } return ret; }
3、调用这个函数即可,传个用户输入的密码,调用此函数,获取函数返回值,一个string而已
在我看来,登录的时候流程应该如下:
1、判断用户是否输入验证码
2、判断用户是否输入用户名和密码
3、对用户的密码进行MD5加密
4、拿用户的用户名和加密后的字符串去数据库中查询,看是否有结果
5、有结果成功否则就失败
在网上看到MD5加密后无法轻易解密,好在同一个字符串无论多少次用MD5加密得到的结果都一样。所以在创建用户的时候,就要对密码进行MD5加密,这样数据库中保存的全是MD5加密后的字符串,这样才可以进行匹配。管理员权限再高也不知道用户的密码,这才能真正确保安全。话说回来,这年头,管理员的素质真是不敢恭维。
相关文章推荐
- asp.net中使用cookie与md5加密实现记住密码功能的实现代码
- asp.net中使用cookie与md5加密实现记住密码功能的实现代码
- 密码注册ASP.NET实现忘记密码
- Asp.net2005不用Ajax实现无刷新验证用户名、密码和中文验证码
- asp.net利用cookie保存用户密码实现自动登录的方法
- ASP.net中md5加密密码的方法
- asp.net实现md5加密
- Asp.Net中实现MD5加密
- asp.net实现md5加密
- ASP.NET实现忘记密码
- asp.net内实现在密码输入框内按回车就登陆的功能
- vb 中的MD5加密在asp.net中的实现
- asp.net实现的MD5加密和DES加解密算法类完整示例
- asp.net实现md5加密方法详解
- ASP.NET MVC中使用JS实现不对称加密密码传输
- asp.net实现md5加密方法详解
- Asp.net2005不用Ajax实现无刷新验证用户名、密码和中文验证码
- asp.net内实现在密码输入框内按回车就登陆的功能
- [asp,net]基于PBKDF2的hash密码存储实现
- Asp.net2005不用Ajax实现无刷新验证用户名、密码和中文验证码