C# 计算文本的 MD5 值

Posted 制作小程序网站电脑程序

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C# 计算文本的 MD5 值相关的知识,希望对你有一定的参考价值。

比如 MD5Encrypt32("1") 的值为 "c4ca4238a0b92382dcc509a6f75849b":

using System;
using System.Text;
using System.Security.Cryptography;

string MD5Encrypt32(string text)
{
    string ciphertext = "";
    MD5 md5 = MD5.Create();
    byte[] h = md5.ComputeHash(Encoding.UTF8.GetBytes(text));
    for (int i = 0; i < h.Length; i++)
    {
        ciphertext = ciphertext + h[i].ToString("x");
        //ciphertext = ciphertext + h[i].ToString("x2");
    }
    return ciphertext;
}

最终是以小写字母输出,可以把字符串格式化参数更改为大写 “X” 以输出大写字母,使用时需注意字符编码集;

格外注意 x 指不补全的 16 进制数(如:A),x2 指补全的 16 进制数(如:0A),可能开源端更多采用补全的方式,而闭源端大多采用不补全的方式。(腾讯接口、拼多多接口踩坑记)

相关环境:
.NET Framework 4.0

以上是关于C# 计算文本的 MD5 值的主要内容,如果未能解决你的问题,请参考以下文章

C#代码加密字符串,与SQL加密结果不一致

C#基础-MD5验证

C# 获取文件MD5SHA1的值

c#和php对字串MD5值解释不一样,头疼!

C# 中的 MD5 哈希与动作脚本中的 MD5 哈希不匹配

使用 c# 计算 Content-MD5 HTTP 头文件值