所以我试图更好地理解哈希表和彩虹表,在我的阅读中,我觉得我开始掌握它的窍门。有一个检查你的知识问题是这样的:
“如果您有一个存储 sha-256 密码的哈希表,并且您希望将整个表存储在内存中,并且您有 4GB 的内存,您可以破解多少个密码?如果您使用每个链中有 20 个密码的 Rainbow 表,你能破解多少个密码?(假设密码是 10 个字符)"
这完全让我怀疑我是否对我所读的内容有所了解。所以这就是我到目前为止想出的。
如果每个 ShA-256 哈希的大小始终为 256 位,并且我们知道单个兆字节中有 8388608 位,则等于每兆 32768 个 SHA-256 密码。4000 兆,所以我们将 32768 乘以 4000,得出存储在内存中的 131072000 个密码。
但是如何将它应用于彩虹表中的 20 个链密码?我认为彩虹表存储了哈希值和它们的反面,这样虽然它占用了更多空间,但它可以更快地解决。是否有公式或其他东西可以确定我丢失了多少空间,从而丢失了多少密码?
非常感谢任何帮助或知识。我感谢您的时间和智慧。:)