ASP.NET下实现密码MD5加密

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


评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值