密码MD5加密

来源:互联网 发布:'中国网络墙 编辑:程序博客网 时间:2024/06/08 03:58

用户注册时,密码MD5加密,存到数据库,用户登录时,将用户输入的密码在进行MD5加密,然后跟数据库对面是否一致,一致则密码正确

加密代码:

 /// <summary>
        /// 
        /// </summary>
        /// <param name="str">要加密的密码</param>
        /// <param name="i">加密为16位还是32位</param>
        /// <returns></returns>

public static string StringToMD5(string str, int i)
        {
            //获取要加密的字段,并转化为Byte[]数组  
            byte[] data = System.Text.Encoding.Unicode.GetBytes(str.ToCharArray());
            //建立加密服务  
            System.Security.Cryptography.MD5 md5 = new System.Security.Cryptography.MD5CryptoServiceProvider();
            //加密Byte[]数组  
            byte[] result = md5.ComputeHash(data);
            //将加密后的数组转化为字段  
            if (i == 16 && str != string.Empty)
            {
                return System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(str, "MD5").ToLower().Substring(8, 16);
            }
            else if (i == 32 && str != string.Empty)
            {
                return System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(str, "MD5").ToLower();
            }
            else
            {
                switch (i)
                {
                    case 16: return "000000000000000";
                    case 32: return "000000000000000000000000000000";
                    default: return "请确保调用函数时第二个参数为16或32";
                }

            }   

原创粉丝点击