区分哈希(Hash)和密码(Password)
在最后一步中,我们将巩固密码和其哈希值之间的关键区别。这是密码破解中的一个基本概念。
- 密码(Password)是秘密的、人类可读的字符串。在我们的示例中,它是
password123。
- 哈希值(Hash)是由密码生成的、经过混淆的、固定长度的字符串。在我们的示例中,它是
482c811da5d5b4bc6d497ffa98491e38。
密码破解并不是反转哈希值。相反,它的工作原理是获取一个潜在密码列表(一个字典文件,wordlist),对每个密码进行哈希处理,然后将结果与目标哈希值进行比较。如果它们匹配,则找到了密码。
为了说明这一点,让我们创建一个简单的字典文件。在实际场景中,这个文件将包含数百万个密码猜测。对于本次实验(Lab),它将只包含这一个正确的密码。
创建一个名为 potential_passwords.txt 的文件,其中包含原始密码:
echo "password123" > potential_passwords.txt
现在,让我们看看你准备好的两个文件。使用 ls 命令查看它们在你目录中的情况。
ls
potential_passwords.txt target_hash.txt
你拥有 target_hash.txt,其中包含要破解的哈希值,以及 potential_passwords.txt,其中包含要测试的密码。这种分离是密码破解工具如何操作的关键。