C#,自己写的32位MD5加密函数

大体思路都是,MD5加密后得到byte类型的数组,然后将每个数组成员转换成16进制的string字符串,这里就容易产生BUG,因为转换成16进制时,遇到10以内的数字时,转后都是一个单字符的,但我们每次转换都要得到两个字符的字符串,网上大多数都没有考虑到这个,导致加密结果出现问题。

 

下面是我自己写的32位MD5加密函数,如果大家发现有BUG,请一定要给我留言,我好改正,谢谢

//32位MD5加密
public string TO32MD5(string srcstr)
{
    MD5 md5 = MD5.Create();
    string md5str = "";//加密后的string
    byte[] s = md5.ComputeHash(Encoding.UTF8.GetBytes(srcstr));
    for (int i = 0; i < s.Length; i++)
    {
        string btos = s[i].ToString("X");
        if(btos.Length == 1)
        {
            //每次转换得到的都是2位
            btos = "0" + btos;
        }
        md5str = md5str + btos;//转换成十六进制
    }
    return md5str;
}
  • 0
    点赞
  • 1
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

打赏
文章很值,打赏犒劳作者一下
相关推荐
©️2020 CSDN 皮肤主题: 书香水墨 设计师:CSDN官方博客 返回首页

打赏

蓝之羽520

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者