背景
因某些需求,需要与合作单位进行相应的数据交互,而交互均使用了加密方式处理并用MD5
作为签名,以便校验传输内容是否遭到篡改。
MD5
md5
是一种信息摘要算法,它可以从一个字符串或一个文件中按照一定的规则生成一个特殊的字符串,并且一个文件所对应的MD5
摘要是固定的,当文件内容变化后,其MD5
值也会不一样,因此,在应用中经常使用MD5
值来验证一段数据有没有被篡改。
.NET CORE 实现MD5
以下简单实现,支持返回大小写、32位以及16位MD5字符串。
public static class EncryptionMd5
{
/// <summary>
/// md5加密
/// </summary>
/// <param name="content">要加密的内容</param>
/// <param name="isUpper">是否大写,默认小写</param>
/// <param name="is16">是否是16位,默认32位</param>
/// <returns></returns>
public static string Md5(string content,bool isUpper=false,bool is16=false)
{
using (var md5 = MD5.Create())
{
var result = md5.ComputeHash(Encoding.UTF8.GetBytes(content));
string md5Str = BitConverter.ToString(result);
md5Str = md5Str.Replace("-", "");
md5Str= isUpper ? md5Str : md5Str.ToLower();
return is16 ? md5Str.Substring(8,16) : md5Str;
}
}
}
以上是使用.NET CORE自身提供的MD5加密进行实现,如果想了解原理以及具体实现方式,请使用万能搜索引擎查找。
使用方式
using System;
using System.Text;
using System.Security.Cryptography;
namespace CryptographyApplication
{
class SecurityCryptography
{
static void Main(string[] args)
{
Console.WriteLine(EncryptionMd5.Md5("Hello World!"));
Console.ReadKey();
}
}
}
转载请注明:清风亦平凡 » .NET CORE实现MD5加密