31 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			C#
		
	
	
	
			
		
		
	
	
			31 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			C#
		
	
	
	
using System.Text;
 | 
						||
using System.Security.Cryptography;
 | 
						||
 | 
						||
namespace MasaBlazorApp3.Util
 | 
						||
{
 | 
						||
    public class MD5
 | 
						||
    {
 | 
						||
        public static string GetMD5Hash(string password)
 | 
						||
        {
 | 
						||
            //就是比string往后一直加要好的优化容器
 | 
						||
            StringBuilder sb = new StringBuilder();
 | 
						||
            using (MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider())
 | 
						||
            {
 | 
						||
                //将输入字符串转换为字节数组并计算哈希。
 | 
						||
                byte[] data = md5.ComputeHash(Encoding.UTF8.GetBytes(password));
 | 
						||
 | 
						||
                //X为     十六进制 X都是大写 x都为小写
 | 
						||
                //2为 每次都是两位数
 | 
						||
                //假设有两个数10和26,正常情况十六进制显示0xA、0x1A,这样看起来不整齐,为了好看,可以指定"X2",这样显示出来就是:0x0A、0x1A。 
 | 
						||
                //遍历哈希数据的每个字节
 | 
						||
                //并将每个字符串格式化为十六进制字符串。
 | 
						||
                int length = data.Length;
 | 
						||
                for (int i = 0; i < length; i++)
 | 
						||
                    sb.Append(data[i].ToString("x2"));
 | 
						||
 | 
						||
            }
 | 
						||
            return sb.ToString();
 | 
						||
        }
 | 
						||
    }
 | 
						||
}
 |