gpt4 book ai didi

sha - 如何找到 SHA1 哈希?

转载 作者:行者123 更新时间:2023-12-01 10:51:03 27 4
gpt4 key购买 nike

我在学校接到了有趣的任务。我必须在我的生日示例中找到 sha-1 哈希持续的消息。如果我出生于 1932 年 5 月 4 日,那么哈希值必须以 040532 结尾。有什么关于如何找出它的建议吗?

最佳答案

我在 C# 中的解决方案:

//A create Sha1 function:
using System.Security.Cryptography;
public static string GetSHA1Hash(string text)
{
var SHA1 = new SHA1CryptoServiceProvider();

byte[] arrayData;
byte[] arrayResult;
string result = null;
string temp = null;

arrayData = Encoding.ASCII.GetBytes(text);
arrayResult = SHA1.ComputeHash(arrayData);
for (int i = 0; i < arrayResult.Length; i++)
{
temp = Convert.ToString(arrayResult[i], 16);
if (temp.Length == 1)
temp = "0" + temp;
result += temp;
}
return result;
}

Source

然后是随机字符串生成器:

 private static Random random = new Random((int)DateTime.Now.Ticks);//thanks to McAden
private string RandomString(int size)
{
StringBuilder builder = new StringBuilder();
char ch;
for (int i = 0; i < size; i++)
{
ch = Convert.ToChar(Convert.ToInt32(Math.Floor(26 * random.NextDouble() + 65)));
builder.Append(ch);
}

return builder.ToString();
}

Source

现在您可以暴力破解您的组合了:

        string search = "32";
string result = String.Empty;
int slen = 5;
string myTry = RandomString(slen);

while (!result.EndsWith(search))
{
myTry = RandomString(slen);
result = GetSHA1Hash(myTry);

}

MessageBox.Show(result + " " + myTry);

这将搜索以 32 结尾的哈希字符串。快乐的暴力破解:)

编辑:为您的示例找到一个:HXMQVNMRFT 给出 e5c9fa9f6acff07b89c617c7fd16a9a043040532

关于sha - 如何找到 SHA1 哈希?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20238865/

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