我记得听说 SHA-1 发现了一些弱点,使得在给定输出哈希的情况下更容易找到明文输入。我也知道 MD5 对于某些应用程序已经确定为弱。我正在尝试创建一个程序来演示两种方法的不同复杂性:蛮力搜索来查找输入,以及利用 SHA-1 或 MD5 中的弱点来查找输入。
明文输入的长度将小于 4,并且仅包含 AZ,因此蛮力并非不切实际。
我的问题是:
是否有 C/C++ 实现通过利用弱点来反转 SHA-1?
是否有 C/C++ 实现通过利用弱点来反转 MD5?
我目前的感觉是,任何利用弱点的方法都没有足够的时间复杂度差异来证明如此小样本量的好处。