35 lines
1.3 KiB
C#
35 lines
1.3 KiB
C#
using System;
|
||
using System.Collections.Generic;
|
||
using System.Linq;
|
||
using System.Text;
|
||
using System.Threading.Tasks;
|
||
using System.Security.Cryptography;
|
||
|
||
namespace DM_Weight.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();
|
||
}
|
||
}
|
||
}
|