gpt4 book ai didi

C#:如何将字符串散列为 RIPEMD160

转载 作者:太空宇宙 更新时间:2023-11-03 12:39:03 27 4
gpt4 key购买 nike

例如密码是“Hello World”,如何让它返回一个RIPEMD160 Hash String?它应该返回一个字符串:“a830d7beb04eb7549ce990fb7dc962e499a27230”。我已经在互联网上搜索了我的问题的答案,但代码不是字符串而是关于将文件加密为 RIPEMD160。

最佳答案

好的,我已经知道问题的解决方案了。将字符串转换为字节,将其传递给 RIPEMD160 函数,创建一个 StringBuilder 并传递 RIPEMD160 函数返回的字节,将返回的 StringBuilder 转换为字符串并再次将其转换为小写。我为它创建了一个函数。这是我的代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Security.Cryptography;

namespace Password
{
class Program
{
static void Main(string[] args)
{
string thePassword = "Hello World";
string theHash = getHash(thePassword);
Console.WriteLine("String: " + thePassword);
Console.WriteLine("Encrypted Hash: " + theHash);
Console.ReadKey(true);
}

static string getHash(string password)
{
// create a ripemd160 object
RIPEMD160 r160 = RIPEMD160Managed.Create();
// convert the string to byte
byte[] myByte = System.Text.Encoding.ASCII.GetBytes(password);
// compute the byte to RIPEMD160 hash
byte[] encrypted = r160.ComputeHash(myByte);
// create a new StringBuilder process the hash byte
StringBuilder sb = new StringBuilder();
for (int i = 0; i < encrypted.Length; i++)
{
sb.Append(encrypted[i].ToString("X2"));
}
// convert the StringBuilder to String and convert it to lower case and return it.
return sb.ToString().ToLower();
}
}
}

关于C#:如何将字符串散列为 RIPEMD160,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39766324/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com