我在学校得到了有趣的任务。我必须找到哪个sha-1散列以我的生日为例。如果我出生于1932年5月4日,那么散列必须以040532结尾。任何建议如何找到它?如何找到SHA1哈希?
3
A
回答
2
从不同消息开始生成哈希。
最终会用这样的属性生成散列。这对蛮力来说并不坏,因为范围只有2 (或〜1600万),并且SHA是非常快。
没有快捷方式SHA is a one way cryptographic hash function。特别是在这里,SHA具有“产生具有给定散列的消息不可行”的特性。
的输入应该是不同的,和一个简单的计数器就足够了。然而,基于所寻找的生日来生成准随机消息可能更有趣 - 例如,包括各种形式的日期和句子Mad Lib的风格。只要这不限制域,这样就不存在限定的散列,它就会像任何其他源消息一样工作。
3
我的解决方案在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;
}
然后一个随机字符串发生器:
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();
}
,现在你可以猜解您的组合:
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
相关问题
- 1. SQLite SHA1哈希:如何?
- 2. SHA1哈希问题
- 3. GPU MD5/SHA1哈希
- 4. SHA1哈希澄清
- 5. Sha1哈希多个sha1哈希 - >安全以识别文件?
- 6. 如何正确选择SHA1哈希值?
- 7. .net如何创建SHA1哈希?
- 8. 如何解决SHA1哈希不匹配?
- 9. MD5和SHA1 C++哈希库
- 10. 从QString获取Sha1哈希
- 11. sha1哈希不工作? C#
- 12. MySQL SHA1哈希不匹配
- 13. ASCII SHA1哈希红宝石
- 14. G-wan C Sha1哈希
- 15. rails sha1哈希路由到对象?
- 16. 我在哪里可以找到Windows 7 iso md5和sha1哈希?
- 17. 哈希函数的随机性,如SHA1
- 18. 如何将字符串“解引用”到git sha1哈希?
- 19. 转换base64'd SHA1哈希为十六进制哈希
- 20. Android Sha1哈希用户名和密码没有正确哈希
- 21. 如何找到哈希码有效性?
- 22. 继续PHP中的SHA1哈希
- 23. C SHA1哈希不起作用
- 24. MYSQL从SHA1生成登录哈希值
- 25. 比较SHA1哈希登录wordpress帐户
- 26. 存放在MySQL SHA1哈希值
- 27. 单向SHA1哈希javascript实现?
- 28. SHA1哈希值差异不大
- 29. SHA1哈希十六进制字符串
- 30. 为什么base64 sha1/sha256哈希?
不满意我的建议吗?我怎么能改进它? – Stefan