c#Md5 32位加密结果少了两个0的原因
时间: 2024-01-01 19:05:06 浏览: 40
C#的MD5加密结果是一个128位的哈希值,通常以32个十六进制数字的形式表示。如果你得到的结果只有30个十六进制数字,那么很可能是因为你使用了不恰当的方式将哈希值转换为字符串。
在C#中,可以使用以下代码将MD5哈希值转换为32个十六进制数字的字符串:
```csharp
byte[] hash = MD5.Create().ComputeHash(Encoding.UTF8.GetBytes(input));
string result = BitConverter.ToString(hash).Replace("-", "").ToLower();
```
请确保不要在转换时丢失任何字节或位,否则可能会导致加密结果不完整。
相关问题
c# FORM md5加密32位大写
在C#中,可以使用以下代码将密码转换为MD5 32位大写形式:
```csharp
public static string GetMD5(string input)
{
string cl = input;
string pwd = "";
MD5 md5 = MD5.Create();
byte\[\] s = md5.ComputeHash(Encoding.UTF8.GetBytes(cl));
for (int i = 0; i < s.Length; i++)
{
pwd = pwd + s\[i\].ToString("X2");
}
return pwd;
}
```
你可以在主函数中调用这个方法来获取密码的MD5 32位大写形式。例如:
```csharp
private static void Main(string\[\] args)
{
Console.WriteLine("{0}", GetMD5("123"));
Console.ReadKey();
}
```
这将输出密码"123"的MD5 32位大写形式。
#### 引用[.reference_title]
- *1* [C#编写注册界面将密码通过MD5加密后存入数据库](https://blog.csdn.net/English0523/article/details/52057526)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item]
- *2* *3* [(14)C#传智:MD5加密,ToString格式,窗体与控件,文本框,单/多选框,图片框,MDI窗体(第14天)](https://blog.csdn.net/dzweather/article/details/129504850)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
用C#写一个MD5加密
当使用C#编写MD5加密时,可以使用`System.Security.Cryptography`命名空间中的`MD5`类。下面是一个示例代码:
```csharp
using System;
using System.Security.Cryptography;
using System.Text;
class Program
{
static void Main()
{
string input = "Hello World";
string encrypted = GetMD5Hash(input);
Console.WriteLine("原始字符串: " + input);
Console.WriteLine("加密后的字符串: " + encrypted);
}
static string GetMD5Hash(string input)
{
using (MD5 md5 = MD5.Create())
{
byte[] inputBytes = Encoding.UTF8.GetBytes(input);
byte[] hashBytes = md5.ComputeHash(inputBytes);
StringBuilder sb = new StringBuilder();
for (int i = 0; i < hashBytes.Length; i++)
{
sb.Append(hashBytes[i].ToString("x2"));
}
return sb.ToString();
}
}
}
```
在上面的示例中,我们使用`GetMD5Hash`方法将输入字符串进行MD5加密。输出的加密结果是一个32位的十六进制字符串。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)