一个网站能够解密一个哈希密码而不管它是如何被哈希的吗?

2024-05-21 08:19:53 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在创建一个python脚本,它可以登录到一个网站(在本例中,它是更新IPv4端点的url)Tunnelbroker.net网站),它使用哈希用户名和密码。在

我的问题是这个。如果我使用echo mypassword | md5sum,它会给我一个与我找到的python脚本不同的哈希(使用hashlib和hashdigest来完成任务)。在

例如,如果“mypass”是robots,echo robots | md5sum会给我2cf61812c352ec4fd0dae8f52874701d,但如果我通过python脚本运行它,则得到27f5e15b6af323f1176293cd01571d

我的问题很简单:这个网站能解密其中任何一个并得到“机器人”吗?我之所以这么问,是因为我希望包含一个python脚本的变体,用于散列密码(以防最终用户在Windows或其他无法生成MD5哈希的操作系统上)。在

提前感谢,祝您今天愉快:) 帕特里克。在


Tags: echo脚本url密码net网站端点用户名
2条回答

md5和密码在同一句话里让我毛骨悚然。。md5是一种单向散列函数,这意味着不应该"decrypt"进行哈希处理。它是一个加密函数。但是,使用rainbow table(可能还有other ways),您可以从md5哈希中恢复一些常见的字符串,这使得使用md5加密密码的想法更加糟糕。在

但无论如何,答案是:

不,Python脚本的答案是正确的。如果您使用echo -n "robots" | md5sum,您将看到它们是相同的:27f5e15b6af3223f1176293cd015771d

原因是echo将在它所响应的字符串的末尾追加一个换行符(惊喜!),添加-n将不会打印换行符,因此会得到正确的结果。在

或者,您可以简单地使用md5sum -s "robots"md5 -s "robots"生成哈希,而不使用echo。在


echo的引用:

The echo utility writes any specified operands, separated by single blank (' ') characters and followed by a newline (\n) character, to the standard output.

What password hashing algorithm to use?

字符串“robots\n”的MD5是2cf61812c352ec4fd0dae8f52874701d

字符串“robots”的MD5是27f5e15b6af323f1176293cd01571d

md5sum robots给了你什么?在

相关问题 更多 >