117.info
人生若只如初见

C#常用加密解密方法(MD5加密解密)

C#中有许多常用的加密解密方法,其中包括MD5加密解密方法。下面是一个使用C#进行MD5加密解密的示例:

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

public class Program
{
    public static void Main()
    {
        string originalText = "Hello World";

        // MD5加密
        string md5Hash = MD5Hash(originalText);
        Console.WriteLine("MD5 Hash: " + md5Hash);

        // MD5验证
        bool md5Verify = VerifyMD5Hash(originalText, md5Hash);
        Console.WriteLine("MD5 Verify: " + md5Verify);
    }

    // 使用MD5加密字符串
    public static string MD5Hash(string text)
    {
        using (MD5 md5 = MD5.Create())
        {
            byte[] inputBytes = Encoding.ASCII.GetBytes(text);
            byte[] hashBytes = md5.ComputeHash(inputBytes);

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

    // 验证MD5哈希值
    public static bool VerifyMD5Hash(string text, string hash)
    {
        string hashOfText = MD5Hash(text);

        StringComparer comparer = StringComparer.OrdinalIgnoreCase;
        return comparer.Compare(hashOfText, hash) == 0;
    }
}

在上述示例中,MD5Hash函数使用MD5算法对输入字符串进行加密,并将结果转换为16进制字符串形式返回。VerifyMD5Hash函数用于验证输入字符串的MD5哈希值与给定的哈希值是否匹配。

注意:MD5是一种哈希算法,不可逆。因此,MD5加密的结果无法解密回原始的字符串。MD5通常用于验证数据的完整性而不是加密敏感信息。

未经允许不得转载 » 本文链接:https://www.117.info/ask/fe8a9AzsLAA5SBFU.html

推荐文章

  • C#中如何使用Parallel.For和Parallel.ForEach

    在C#中,可以使用Parallel.For和Parallel.ForEach方法来实现并行循环。
    Parallel.For方法用于并行执行一个范围的循环。它接受四个参数:循环起始值、循环结...

  • C++ clog实例讲解

    clog 是 C++ 标准库中的输出流对象,它用于输出错误或其他重要信息。clog 对象是 ostream 类型的对象,定义在头文件 中。
    使用 clog 输出信息与使用 cout 输...

  • C#版flvmerge:快速合并多个flv文件

    下面是一个示例代码,可以使用C#合并多个FLV文件:
    using System;
    using System.IO; class Program
    { static void Main(string[] args) { string...

  • C# register global hotkey ,onekey 注册多个全局热键以及

    在C#中,可以使用Windows API函数来注册全局热键。以下是一个示例代码,演示如何注册多个全局热键:
    using System;
    using System.Runtime.InteropServ...

  • 数据结构二叉树的三种遍历方式

    二叉树的遍历方式有三种:前序遍历、中序遍历和后序遍历。 前序遍历(Preorder Traversal):先访问根节点,然后递归地前序遍历左子树,再递归地前序遍历右子树。...

  • Toast.makeText()的使用方法

    Toast.makeText()是Android中用于显示简短消息的方法。它的使用方法如下: 创建一个Toast对象:
    Toast toast = Toast.makeText(context, text, duration); ...

  • C语言之static关键字详解

    static关键字在C语言中有多种用法,下面详细解释每种用法的含义和作用。 函数内的静态变量:
    在函数内部定义的变量默认是自动变量,只能在函数内部使用,并...

  • HandlerThread原理、使用实例

    HandlerThread是一个带有Looper的线程类,它继承自Thread类并实现了Runnable接口。它的主要作用是为了方便在后台线程中执行一系列的任务,并且能够通过Handler与...