【发布时间】:2019-07-09 23:54:43
【问题描述】:
我正在学习 Java 中的加密算法,偶然发现了这个算法:
SecretKey key = SecretKeyFactory.getInstance(
"PBEWithMD5AndDES").generateSecret(keySpec);
我知道它代表使用 MD5 和 DES 算法的基于密码的加密。 我知道 MD5 和 DES 是两个独立的算法加密密钥,但 PBEWithMD5AndDes 作为算法究竟意味着什么?
网上没有太多资源可以很好地解释这个“算法”。
我希望有人可以简单而简短地解释这与普通 MD5 或普通 DES 算法有何不同。
【问题讨论】:
-
它比说只使用MD5更安全?
-
MD5 碰撞可以很快找到,如果可能的话不要再使用它了
-
那么结合MD5和DES是如何解决这个问题的呢?
-
它减慢了穷举搜索的速度,并且使查找 MD5 冲突变得有些困难,尽管尽可能尝试使用更现代的 PBE 算法,例如 PBKDF2、SHA256withAES、Argon2、..
-
是的@Daredevil 像瘟疫一样避免它。不安全且过时。
标签: java encryption