在没有强力的情况下,给出(小)输入长度反转SHA-1或MD5

Sam*_*ich 2 c++ algorithm hash md5 sha

我记得听说使用SHA-1发现了一些弱点,因此在给定输出散列的情况下更容易找到明文输入.我也知道MD5已被确定为某些应用程序的弱点.我正在尝试创建一个程序来演示两种方法的不同复杂性:用于查找输入的强力搜索,以及利用SHA-1或MD5中的弱点来查找输入.

明文输入的长度<4,仅由AZ组成,因此蛮力并非不切实际.

我的问题是:
是否有通过利用弱点来反转SHA-1的C/C++实现?
是否有通过利用弱点来反转MD5的C/C++实现?

我目前的感觉是,任何利用弱点的方法都不会在时间复杂性上有足够的差异来证明这么小的样本量的好处.

dus*_*uff 7

不,这是不可能的.虽然MD5和SHA-1中确实存在一些弱点,但它们通常不允许这种形式的原像攻击 - 大多数已知的弱点都涉及构建碰撞对.