首页后端开发ASP.NETASP.NET数据库密码:MD5加密算法详解

ASP.NET数据库密码:MD5加密算法详解

时间2024-01-31 14:12:03发布访客分类ASP.NET浏览1046
导读:收集整理的这篇文章主要介绍了ASP.NET数据库密码:MD5加密算法详解,觉得挺不错的,现在分享给大家,也给大家做个参考。在做软件开发的过程中,必然会涉及到用户密码等关键信息的存储。在大多数的情况下,用户的密码是存储在数据库中的。如果不加任...
收集整理的这篇文章主要介绍了ASP.NET数据库密码:MD5加密算法详解,觉得挺不错的,现在分享给大家,也给大家做个参考。在做软件开发的过程中,必然会涉及到用户密码等关键信息的存储。在大多数的情况下,用户的密码是存储在数据库中的。如果不加任何保密措施,直接以明文形式保存的话,很容易造成用户个人信息的泄露,给企业和用户带来无法预估的损失。

目前,常用的密码加密存储算法有很多种,比如:@H_304_2@MD5、3DESAESSHA1等。

今天我们主要来介绍一下MD5加密算法。

什么是MD5算法

MD5是一种用于产生数字签名的单项散列算法,它以512位分组来处理输入的信息,且每一分组又被划分为16个32位子分组,经过一系列处理,算法的输出由4个32位分组级联后生成一个128位散列值。

使用ASP.NET把密码字段值进行加密,代码如下:

using System.SecurITy.Cryptograhoy;
//引入MD5加密命名空间public string GetMD5(string strPwd){
        //将要加密的字符串加上前缀与后缀后再加密    string cl = DateTime.Now.Month + strPwd + DateTime.Now.Day;
        string pwd = "";
        //实例化一个MD5对象    MD5 md5 = MD5.Create();
        //加密后是一个字节类型的数组,要注意编码UTF8/Unicode等的选择    byte[] s = md5.COMputeHash(Encoding.UTF8.GetBytes(cl));
        //翻转生成的MD5码    s.reverse();
        //通过循环,将字节类型的数组转换为字符串    //只取MD5码的一部分,这样恶意访问者无法知道取的是哪几位    for(int i = 3;
    i  s.Length-1;
 i++)    {
            //将得到的字符串使用十六进制类型格式化。格式化后的字符是小写的字母,如果使用大写(X),则格式化后的字符是大写字母        //进一步对生成的MD5码做一些改造        pwd = pwd + (s[i]  198 ? s[i] + 28 : s[i]).ToString("X");
    }
        return pwd;
}
    

注意

如果单纯使用MD5算法生成的散列值,是可以被破解的。所以我们在实际开发过程中,需要使用MD5算法,结合加盐算法来生成无法破解的加密字符串。

以上就是ASP.NET数据库密码:MD5加密算法详解的详细内容,更多请关注其它相关文章!

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!

ASP.NET

若转载请注明出处: ASP.NET数据库密码:MD5加密算法详解
本文地址: https://pptw.com/jishu/594064.html
int main和void main的区别 vue自定义组件实现双向绑定

游客 回复需填写必要信息