目前,常用的密码加密存储算法有很多种,比如:MD5
、3DES
、AES
、SHA1
等。
今天我们主要来介绍一下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加密算法详解的详细内容,更多请关注php中文网其它相关文章!
声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
程序员必备接口测试调试工具:点击使用
Apipost = Postman + Swagger + Mock + Jmeter
Api设计、调试、文档、自动化测试工具
网页生成APP,用做网站的技术去做APP:立即创建
手机网站开发APP、自助封装APP、200+原生模块、2000+映射JS接口按需打包
相关文章
相关视频