ASP.NET下实现密码MD5加密

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/jj12345jj198999/article/details/7261694

在大学期间,做项目从来不管密码是不是明文存储,如今到了公司,肯定就不一样了。至于CSDN居然用明文存储密码,显然是脑残行为。所以现在做系统,密码全部加密,好在.NET中已经提供了现成的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加密后的字符串,这样才可以进行匹配。管理员权限再高也不知道用户的密码,这才能真正确保安全。话说回来,这年头,管理员的素质真是不敢恭维。


展开阅读全文

没有更多推荐了,返回首页