c# 实现MD5,SHA1,SHA256,SHA512等常用加密算法源代码

c# 实现MD5,SHA1,SHA256,SHA512等常用加密算法源代码

在c#中实现常用的加密算法可以使用System.Security.Cryptography命名空间。

MD5哈希算法

以下是使用MD5哈希算法的c#代码示例:

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

public string GetMd5(string input)
{
    using (MD5 md5Hash = MD5.Create())
    {
        byte[] data = md5Hash.ComputeHash(Encoding.UTF8.GetBytes(input));
        StringBuilder builder = new StringBuilder();

        for (int i = 0; i < data.Length; i++)
        {
            builder.Append(data[i].ToString("x2"));
        }

        return builder.ToString();
    }
}

在这个示例中,我们创建了一个MD5哈希对象,然后将输入字符串转换为字节数组,使用ComputeHash方法将输入转换为哈希值,最后将哈希值转换为16进制字符串返回。

SHA1哈希算法

以下是使用SHA1哈希算法的c#代码示例:

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

public string GetSha1(string input)
{
    using (SHA1 sha1Hash = SHA1.Create())
    {
        byte[] data = sha1Hash.ComputeHash(Encoding.UTF8.GetBytes(input));
        StringBuilder builder = new StringBuilder();

        for (int i = 0; i < data.Length; i++)
        {
            builder.Append(data[i].ToString("x2"));
        }

        return builder.ToString();
    }
}

如您所见,与MD5哈希算法类似,使用SHA1哈希算法的过程相似,唯一的不同之处是我们创建了SHA1哈希对象。

SHA256和SHA512哈希算法

使用SHA256和SHA512哈希算法的过程与SHA1和MD5哈希算法相似,唯一的不同之处是我们创建了SHA256或SHA512哈希对象。

以下是使用SHA256哈希算法的c#代码示例:

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

public string GetSha256(string input)
{
    using (SHA256 sha256Hash = SHA256.Create())
    {
        byte[] data = sha256Hash.ComputeHash(Encoding.UTF8.GetBytes(input));
        StringBuilder builder = new StringBuilder();

        for (int i = 0; i < data.Length; i++)
        {
            builder.Append(data[i].ToString("x2"));
        }

        return builder.ToString();
    }
}

以下是使用SHA512哈希算法的c#代码示例:

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

public string GetSha512(string input)
{
    using (SHA512 sha512Hash = SHA512.Create())
    {
        byte[] data = sha512Hash.ComputeHash(Encoding.UTF8.GetBytes(input));
        StringBuilder builder = new StringBuilder();

        for (int i = 0; i < data.Length; i++)
        {
            builder.Append(data[i].ToString("x2"));
        }

        return builder.ToString();
    }
}

总结

在这篇文档中,我们讲解了如何在c#中实现MD5、SHA1、SHA256和SHA512哈希算法。这些算法是我们在开发中常用的加密算法,可以用于密码存储、数据完整性验证和消息认证等方面。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:c# 实现MD5,SHA1,SHA256,SHA512等常用加密算法源代码 - Python技术站

(0)
上一篇 2023年6月8日
下一篇 2023年6月8日

相关文章

  • C#使用GET、POST请求获取结果

    获取在线数据是许多C#应用程序的重要部分,而HTTP协议上的GET和POST请求是两种常见的请求方式。在C#中,可以使用HttpWebRequest类和HttpClient类来发送GET和POST请求并获取响应结果。 使用HttpWebRequest发送GET请求 HttpWebRequest是一个用于发送HTTP请求的类,可以用来发送GET、POST和其他…

    C# 2023年5月31日
    00
  • VS2010怎么创建windows窗体应用程序?

    下面是VS2010创建Windows窗体应用程序的完整攻略: 步骤1:创建新项目 打开Visual Studio 2010,选择“新建项目”。在弹出的“新建项目”窗口中,选择“Visual C#”(或Visual Basic)下的“Windows窗体应用程序”。输入项目名称,选择项目保存位置,然后点击“确定”按钮。 步骤2:设计窗体 在设计窗体中,可以通过拖…

    C# 2023年5月15日
    00
  • 在.NET Core类库中使用EF Core迁移数据库到SQL Server的方法

    在 .NET Core 类库中使用 EF Core 迁移数据库到 SQL Server 的方法 在 .NET Core 类库中使用 EF Core 迁移数据库到 SQL Server 是一种常见的操作。本攻略将介绍如何在 .NET Core 类库中使用 EF Core 迁移数据库到 SQL Server。 步骤 以下是在 .NET Core 类库中使用 EF…

    C# 2023年5月17日
    00
  • C# ToString():返回表示当前对象的字符串

    C#中的ToString()方法是一个经常被使用的方法,可以将任意类型的对象转化为字符串类型。ToString()方法虽然看似简单,但具有非常灵活的使用方式,可以方便地自定义类型的打印格式。下面是关于ToString()的完整攻略: 调用方式 使用ToString()方法的方式很简单,只需在对象上调用ToString()方法即可得到转化后的字符串: usin…

    C# 2023年4月19日
    00
  • ASP.NET Core MVC 从入门到精通之数据库

    随着技术的发展,ASP.NET Core MVC也推出了好长时间,经过不断的版本更新迭代,已经越来越完善,本系列文章主要讲解ASP.NET Core MVC开发B/S系统过程中所涉及到的相关内容,适用于初学者,在校毕业生,或其他想从事ASP.NET Core MVC 系统开发的人员。 经过前几篇文章的讲解,初步了解ASP.NET Core MVC项目创建,启…

    C# 2023年5月5日
    00
  • 使用C# Winform应用程序获取网页源文件的解决方法

    非常感谢您对我提出的问题。以下是使用C# Winform应用程序获取网页源文件的解决方法的完整攻略: 1. 确定需求 在开始之前,我们需要确定我们的需求,为什么要获取网页源文件。例如,我们可能希望: 分析网站结构和内容 检查特定页面的元素、标签、属性等 自动化爬取网站数据 不管我们的需求是什么,获取网页源文件都是必不可少的第一步。下面将介绍基于C# Winf…

    C# 2023年6月1日
    00
  • 详解C# 反射(Reflection)

    详解 C# 反射(Reflection) C# 反射(Reflection)是指在程序运行的时候动态的获得一个类的信息以及可以操作这个类、实例等相关信息的能力。反射提供了一种机制来检查程序集中的元数据,包括类型定义、字段、属性、方法等信息。在运行时,可以通过反射来创建对象、调用方法、获取或设置属性等。 反射的作用 可以查看类型、方法、构造函数、属性、字段、事…

    C# 2023年6月1日
    00
  • WinForm中comboBox控件数据绑定实现方法

    WinForm中的comboBox控件是一种常用的下拉选择框控件,可以让用户从预设的选项中选择一项或输入自定义内容。下面将详细介绍如何实现comboBox控件的数据绑定。 1. 绑定数据源 首先,需要将comboBox控件绑定到需要显示的数据源。可以通过WinForm设计器中的属性窗口完成这个操作。步骤如下: 步骤1:打开WinForm设计器 在Visual…

    C# 2023年6月7日
    00
合作推广
合作推广
分享本页
返回顶部