gpt4 book ai didi

java - 什么是 PBEWithMD5AndDes?

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:37:43 29 4
gpt4 key购买 nike

我正在学习 Java 加密算法并偶然发现了这个算法:

  SecretKey key = SecretKeyFactory.getInstance(
"PBEWithMD5AndDES").generateSecret(keySpec);

我知道它代表使用 MD5 和 DES 算法的基于密码的加密。我知道 MD5 和 DES 是两个独立的算法加密 key ,但 PBEWithMD5AndDes 作为算法到底意味着什么?

网上没有太多资源可以很好地解释这个“算法”。

我希望有人能简单解释一下这与普通 MD5 或普通 DES 算法有何不同。

最佳答案

扩展之前的答案

what exactly does PBEWithMD5AndDes means as an algorithm?

PBE 使用从密码、随机盐和迭代次数生成的加密 key ,请参阅 KeySpec 参数。

KeySpec pbeSpec = new PBEKeySpec(password.toCharArray(), psswdSalt, PBKDF_INTERATIONS, SYMMETRIC_KEY_LENGTH)

想法是 - 密码往往很短且不够随机,因此很容易被猜到。使用迭代次数应该会使猜测变得更加困难。

PBEWithMD5AndDes使用 MD5 和 DES 生成 key ,参见 example code .现实生活中的实现应该使用更多的迭代次数

How does that differ with just using MD5 or just DES? That's what i would like to know.

理论上 - 您可以使用纯 MD5 或 DES,但今天的计算机可以非常快地猜出密码。

请注意 DES 和 MD5 今天已过时。 MD5 冲突可以在商品硬件上发现,不到一分钟,DES 使用 64 位 key ,这在今天被认为是安全的非常短。

关于java - 什么是 PBEWithMD5AndDes?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54143361/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com