.net c# MD5常见加密方式汇总

版权:原创 更新时间:1年以上
[该文章底部包含文件资源,可根据自己情况,决定是否下载资源使用,时间>金钱,如有需要,立即查看资源]

.net md5 加密方式很多,有些已经淘汰

这里列一些常件的md5加密方式.

1. 最常用,简单

        /// <summary>
        /// MD5加密。
        /// </summary>
        /// <param name="value"></param>
        /// <returns></returns>
        public static string MD5(string value)
        {
            MD5CryptoServiceProvider md5Hasher = new MD5CryptoServiceProvider();
            byte[] data = md5Hasher.ComputeHash(Encoding.Default.GetBytes(value));
            StringBuilder str = new StringBuilder();
            for (int i = 0; i < data.Length; i++) { str.Append(data[i].ToString("x2")); }
            return str.ToString();
        }

2.需要传多个参数

        /// <summary>
        /// MD5加密
        /// </summary>
        /// <param name="value"></param>
        /// <param name="encoding"></param>
        /// <returns></returns>
        public static string MD5To32(string value, string encoding)
        {
            System.Security.Cryptography.MD5 md5 = new System.Security.Cryptography.MD5CryptoServiceProvider();
            byte[] t = md5.ComputeHash(System.Text.Encoding.GetEncoding(encoding).GetBytes(value));
            var sb = new System.Text.StringBuilder(32);
            for (int i = 0; i < t.Length; i++)
            {
                sb.Append(t[i].ToString("x").PadLeft(2, '0'));
            }
            return sb.ToString();
        }

3.16位MD5加密方式

        public static string MD5To16(string str)
        {
            MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider();
            string t2 = BitConverter.ToString(md5.ComputeHash(UTF8Encoding.Default.GetBytes(str)), 4, 8);
            t2 = t2.Replace("-", "");
            t2 = t2.ToLower();
            return t2;
        }

4.将方法汇总后,写成通用

        #region MD5相关加密
        public static string MD5_16Small(string str)
        {
            return MD5(str, "utf-8", true, true);
        }
        public static string MD5_16Case(string str)
        {
            return MD5(str, "utf-8", true, false);
        }
        /// <summary>
        /// 32位MD5 大写加密 默认UTF-8加密
        /// </summary>
        /// <param name="str"></param>
        /// <returns></returns>
        public static string MD5_32Small(string str)
        {
            return MD5(str, "utf-8", true);
        }
        /// <summary>
        /// 32位MD5 小写加密
        /// </summary>
        /// <param name="str"></param>
        /// <param name="encoding"></param>
        /// <returns></returns>
        public static string MD5_32Small(string str, string encoding)
        {
            return MD5(str, "utf-8", true);
        }
        /// <summary>
        /// 32位MD5 大写加密 默认UTF-8加密
        /// </summary>
        /// <param name="str"></param>
        /// <returns></returns>
        public static string MD5_32Case(string str)
        {
            return MD5(str, "utf-8", false);
        }
        public static string MD5_32Case(string str, string encoding)
        {
            return MD5(str, "utf-8", true);
        }
        /// <summary>
        /// 32位MD5 大写加密
        /// </summary>
        /// <param name="str">需加密字符串</param>
        /// <param name="encoding">编码</param>
        /// <returns></returns>
        public static string MD5(string str, string encoding, bool issmall)
        {
            System.Security.Cryptography.MD5 md5 = new System.Security.Cryptography.MD5CryptoServiceProvider();
            byte[] t = md5.ComputeHash(System.Text.Encoding.GetEncoding(encoding).GetBytes(str));
            var sb = new System.Text.StringBuilder(32);
            for (int i = 0; i < t.Length; i++)
            {
                sb.Append(t[i].ToString(issmall ? "x" : "X").PadLeft(2, '0'));
            }
            return sb.ToString();
        }

        public static string MD5(string str, string encoding, bool issixteen, bool issmall)
        {
            MD5 md5 = new MD5CryptoServiceProvider();
            byte[] byData = System.Text.Encoding.GetEncoding(encoding).GetBytes(str);
            byte[] result = md5.ComputeHash(byData);
            string md5str = issixteen ? BitConverter.ToString(result, 4, 8) : BitConverter.ToString(result);
            md5str = md5str.Replace("-", "");
            return issmall ? md5str.ToLower() : md5str;
        }

        /// <summary>
        /// MD5 16位小写2
        /// </summary>
        /// <param name="str">需加密字符串</param>
        /// <returns></returns>
        public static string MD5_32SmallTwo(string str)
        {
            return MD5_Two(str, true);
        }

        /// <summary>
        /// MD5 16位大写2
        /// </summary>
        /// <param name="str">需加密字符串</param>
        /// <returns></returns>
        public static string MD5_32CaseTwo(string str)
        {
            return MD5_Two(str, false);
        }

        public static string MD5_Two(string str, bool issmall)
        {
            MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider();
            string t2 = BitConverter.ToString(md5.ComputeHash(UTF8Encoding.Default.GetBytes(str)));
            t2 = t2.Replace("-", "");
            return issmall ? t2.ToLower() : t2;
        }
        #endregion


 

附件:下载该文件资源,减少时间成本(增值服务)
.net md5等加密方式源码
源码中包含md5加密算法,DES加密算法,RSA加密算法,SHA加密算法等,后期将不断补充加密算法在其中
不商用,只限学习使用,使用后请删除
上传者拥有该资源完整版权,下载既表明已授权您可以进行报备商用,无报备或者使用后报备,视为侵权,报备后使用,为合法有效使用,报备方式,下载后,在下载列表,点击报备,填写使用场景即可
文件部分展示图(单击放大)
.net md5等加密方式源码.net md5等加密方式源码.net md5等加密方式源码.net md5等加密方式源码
留言
该资源可下载
File Source
.rar
88.93 KB
.net md5等加密方式源码.net md5等加密方式源码.net md5等加密方式源码.net md5等加密方式源码
最新结算
股权转让协议意向书模板
类型: .docx 金额: CNY 2.23¥ 状态: 待结算 详细>
股权转让协议意向书模板
类型: .docx 金额: CNY 0.28¥ 状态: 待结算 详细>
CSS3图片向上3D翻转渐隐消失特效
类型: .rar 金额: CNY 0.29¥ 状态: 待结算 详细>
CSS3图片向上3D翻转渐隐消失特效
类型: .rar 金额: CNY 2.31¥ 状态: 待结算 详细>
.net c# 将金额转人名币大写金额
类型: .rar 金额: CNY 2.39¥ 状态: 待结算 详细>
.net c# 将金额转人名币大写金额
类型: .rar 金额: CNY 0.3¥ 状态: 待结算 详细>
合伙退伙协议书范本模板
类型: .doc 金额: CNY 2.23¥ 状态: 待结算 详细>
合伙退伙协议书范本模板
类型: .doc 金额: CNY 0.28¥ 状态: 待结算 详细>
合伙退伙协议书范本模板
类型: .doc 金额: CNY 2.23¥ 状态: 待结算 详细>
合伙退伙协议书范本模板
类型: .doc 金额: CNY 0.28¥ 状态: 待结算 详细>
我们力求给您提供有用的文章,再此基础上,会附加营收资源,不做任何广告,让平台可以更好发展 若您发现您的权利被侵害,或使用了您的版权,请发邮件联系 sunlifel@foxmail.com ggbig觉得 : 不提供源码的文章不是好文章
合作伙伴
联系我们
  • QQ:21499807
  • 邮箱:sunlifel@foxmail.com
  • QQ扫一扫加QQ
    QQ扫一扫
Copyright 2023-2024 ggbig.com·皖ICP备2023004211号-1
打赏文章