入门客AI创业平台(我带你入门,你带我飞行)
博文笔记

MD5加密算法(salt盐加密)

创建时间:2016-04-22 投稿人: 浏览次数:3217

MD5加密算法:

md5加密算法是不可逆的  也就是说是不能够通过解码来获取源来的字符串的  如果需要验证密码是否正确  需要对待验证的密码进行同样的MD5加密  然后和数据库中存放的加密后的结果进行对比;

普通的md5加密  不够安全  我们可以通过多次进行md5加密  或者使用 盐salt 对字符串进行加密   

使用方法:  我们可以随机生成盐salt  然后和我们要加密的字符串进行拼接  之后再用md5进行加密   然后在拼接上我们刚刚的salt

     验证时  我们先截取数据库中加密的字符串的前两个字节   获得我们的salt  用这个盐按照加密的方法对我们需要验证的密

public static string MD5(string pwd)

        { 

            string MD5pwd = "";     //定义一个字符串用来接收编码后的字符串

            MD5CryptoServiceProvider MD5 = new MD5CryptoServiceProvider();    //定义一MD5对象  

或者 MD5 md5=MD5.Create();

            byte[] buffer = Encoding.UTF8.GetBytes(pwd);   //所有的加密算法都是对字节进行加密,因为先把密码转化成字节数组     

或者 byte[] buffer=  System.Text.Encoding.Default.GetBytes(pwd);

            byte[] MD5buffer = MD5.ComputeHash(buffer);   //对字节进行加密,返回字节数组           
            foreach (byte item in MD5buffer)    //md5加密后得到是:32为16进制数,所有把btye转成十六进制             { 
                
                MD5pwd += item.ToString("X2");  //x表示转换成十六进制数【大写x表示十六进制中的字母是大写的】 
                            } 
            return MD5pwd; 
        }
声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。