基于C#的MD5加密算法

功能描述:

  1. 简要阐述加密算法的原理
  2. 用与对字符串进行加密

一、MD5加密算法简介

  MD5的全称是Message-Digest Algorithm 5,在90年代初由MIT的计算机科学实验室和RSA Data Security Inc发明,经MD2、MD3和MD4发展而来。
  MD5将任意长度的“字节串”变换成一个128bit的大整数,并且它是一个不可逆的字符串变换算法,换句话说就是,即使你看到源程序和算法描述,也无法将一个MD5的值变换回原始的字符串,从数学原理上说,是因为原始的字符串有无穷多个,这有点象不存在反函数的数学函数。
  MD5的典型应用是对一段Message(字节串)产生fingerprint(指纹),以防止被“篡改”。举个例子,你将一段话写在一个叫 readme.txt文件中,并对这个readme.txt产生一个MD5的值并记录在案,然后你可以传播这个文件给别人,别人如果修改了文件中的任何内容,你对这个文件重新计算MD5时就会发现。如果再有一个第三方的认证机构,用MD5还可以防止文件作者的“抵赖”,这就是所谓的数字签名应用。
在这里插入图片描述
在线加密网站:https://www.cmd5.com

二、代码具体实现

using System;
using System.Collections.Generic;
using System.Linq;
using System.Security.Cryptography;
using System.Text;
using System.Threading.Tasks;
/// <summary>
/// MD5加密工具类
/// </summary>
namespace MNTC_HMI.utils
{
    
    
    class MD5Helper
    {
    
    
        public static string stringMD5(string str)
        {
    
    
            MD5 md5 = new MD5CryptoServiceProvider();
            byte[] fromDta = System.Text.Encoding.UTF8.GetBytes(str);
            byte[] targetData = md5.ComputeHash(fromDta);
            string byte2String = null;
            for (int i = 0; i < targetData.Length; i++)
            {
    
    
                byte2String += targetData[i].ToString("x2");
            }
            return byte2String;
        }
    }
}

猜你喜欢

转载自blog.csdn.net/qq_37120496/article/details/115286935