MD5(Message Digest Algorithm 5)是一种常见的哈希函数,用于将任意长度的输入数据通过计算生成固定长度的128位哈希值。MD5 哈希值通常以十六进制字符串的形式表示,常被用于对密码、消息等敏感信息进行加密或摘要处理。
在编程中,可以使用现有的加密库或工具来对数据进行 MD5 加密。在先前的代码示例中,展示了如何使用 C# 中的 MD5
类和相关的编码方法来计算字符串的 MD5 哈希值,并将其表示为十六进制的字符串。
需要注意的是,尽管 MD5 曾经被广泛应用于加密和校验领域,但由于其存在一些安全性漏洞,不再被建议用于加密密码等安全敏感信息。替代方案包括 SHA-256、SHA-512 等更安全的哈希算法。
一.创建生成MD5的方法
代码如下:
/// <summary> /// 密码生成Md5 /// </summary> /// <param name="md5"></param> /// <returns></returns> public string GetMd5(string? md5) { return string.Join("", MD5.Create().ComputeHash(Encoding.UTF8.GetBytes(md5)).Select(m => m.ToString("X2"))); }
代码详细讲解:
这段代码的作用是计算给定字符串的 MD5 哈希值。让我来逐步解释一下这段代码:
-
Encoding.UTF8.GetBytes(md5)
:首先,使用 UTF-8 编码将字符串md5
转换成字节数组。 -
MD5.Create().ComputeHash(...)
:然后,创建一个 MD5 实例并对该字节数组进行哈希计算,得到对应的 MD5 哈希值的字节数组。 -
.Select(x => x.ToString("X2"))
:接下来,使用 LINQ 的Select
方法将每个字节转换为其对应的十六进制表示,并存储为一个字符串数组。 -
string.Join("", ...)
:最后,使用空字符串连接字符串数组中的各个十六进制值,得到最终的 MD5 哈希值的字符串表示。
总的来说,这段代码将输入的字符串经过 MD5 哈希计算后,以十六进制格式输出哈希值的字符串表示。
二.代码运用到添加和修改密码,登录用户中
代码如下:
list.UserPassword== GetMd5(UserPassword)
直接在登录前调用Md5方法
到此MD5结束
标签:十六进制,加密,C#,代码,哈希,字符串,MD5 From: https://www.cnblogs.com/gyp2001/p/17818093.html