legongju.com
我们一直在努力
2025-01-10 23:45 | 星期五

如何用C#进行哈希加密

在C#中,可以使用System.Security.Cryptography命名空间下的类来实现哈希加密

using System;
using System.Security.Cryptography;
using System.Text;

class Program
{
    static void Main()
    {
        string input = "Hello, World!"; // 要加密的字符串

        // 使用SHA256哈希算法
        using (SHA256 sha256 = SHA256.Create())
        {
            byte[] inputBytes = Encoding.UTF8.GetBytes(input);
            byte[] hashBytes = sha256.ComputeHash(inputBytes);

            StringBuilder sb = new StringBuilder();
            for (int i = 0; i< hashBytes.Length; i++)
            {
                sb.Append(hashBytes[i].ToString("x2"));
            }
            Console.WriteLine("SHA256哈希值: " + sb.ToString());
        }

        // 使用MD5哈希算法
        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"));
            }
            Console.WriteLine("MD5哈希值: " + sb.ToString());
        }
    }
}

这个示例首先创建了一个字符串input,然后分别使用SHA256和MD5哈希算法对其进行加密。ComputeHash方法接收一个字节数组作为输入,返回一个包含哈希值的字节数组。最后,将哈希值转换为16进制字符串并输出。

注意:哈希加密是不可逆的,因此无法从哈希值还原原始数据。它通常用于验证数据的完整性和安全存储密码等敏感信息。

未经允许不得转载 » 本文链接:https://www.legongju.com/article/88961.html

相关推荐

  • c#如何定义数组 不指定长度

    c#如何定义数组 不指定长度

    在C#中,当你创建一个数组时,必须指定其长度。但是,你可以使用List类来创建一个动态数组,这样你就不需要指定长度了。List类位于System.Collections.Generic命...

  • c#如何获取请求ip

    c#如何获取请求ip

    在C#中,您可以通过HttpContext对象获取请求的IP地址。以下是一个简单的示例,展示了如何在ASP.NET Core控制器中获取客户端IP地址:
    using Microsoft.AspNe...

  • c#如何创建字符串数组

    c#如何创建字符串数组

    在C#中,您可以使用以下方法创建一个字符串数组: 使用new关键字和指定数组长度: string[] stringArray = new string[5]; 这将创建一个包含5个元素的字符串数组...

  • c#如何获取当前时间毫秒

    c#如何获取当前时间毫秒

    在C#中,你可以使用DateTime.Now或者DateTime.UtcNow来获取当前时间,然后通过Ticks属性将其转换为毫秒。以下是一个示例:
    using System; class Program

  • C# LINQ和Lambda在数据库查询中的应用

    C# LINQ和Lambda在数据库查询中的应用

    LINQ(Language Integrated Query,语言集成查询)和Lambda表达式是C#中非常强大的功能,它们可以简化数据库查询操作。在数据库查询中,LINQ和Lambda表达式可以提...

  • 如何在C#中使用LINQ和Lambda进行数据转换

    如何在C#中使用LINQ和Lambda进行数据转换

    在C#中,LINQ(Language Integrated Query)和Lambda表达式可以帮助你轻松地对数据进行转换 引入命名空间: using System;
    using System.Collections.Gener...

  • C# LINQ和Lambda如何处理复杂查询

    C# LINQ和Lambda如何处理复杂查询

    在C#中,LINQ(Language Integrated Query)和Lambda表达式可以帮助我们更简洁地处理复杂查询。它们允许我们以声明性方式编写查询,而不是使用传统的命令式编程。...

  • C#中LINQ和Lambda的性能如何优化

    C#中LINQ和Lambda的性能如何优化

    在C#中,LINQ(Language Integrated Query)和Lambda表达式都是提高代码可读性和编写简洁代码的有效工具。然而,并不是所有情况下使用LINQ和Lambda都会导致性能最...