由于研究人员发现的缺陷,微软、谷歌和 Mozilla 在 2017 年决定不接受它。我看到 SHA-1 几乎在所有地方都在贬值,仅仅是因为人们认为它不再安全了。但与 MD5 不同的是,目前 SHA-1 上没有发现已知的冲突。而且即使是最快的 SHA-1 碰撞算法仍然需要近 2^60 次评估,这仍然是一个非常大的数字。
我的问题是,为什么 SHA-1 这种尚未发现任何冲突且仍需要大量时间才能发现冲突的哈希算法会被贬值?我知道 SHA-2 更安全,但它也比 SHA-1 慢,为什么大多数人建议用性能来换取所谓的“安全性”,而 SHA-1 的安全性在大多数情况下甚至不是问题?
如果问题的最优解可以通过贪心获得,那么是否也可以通过动态规划获得呢?既然贪心和dp都是在处理子问题的最优解,那么是否可以说dp可以解决所有贪心可以解决的问题呢?