java - PBE 相对于 DES、3DES 和 AES 的优势

标签 java encryption

除了 DES、3DES 和 AES 加密技术外,我还实现了 PBE。我需要 PBE 优于其他三个的一些优势。当我在互联网上搜索时,我只发现了缺点。帮我弄清楚使用 PBE 的一些优势?

最佳答案

如果我理解您使用的术语,PBE 表示基于密码或密码短语的加密。

根据我看到的消息来源,PBE 是一种“使用”某种加密算法的方式。您无需生成随 secret 钥,而是采用用户提供的密码或密码短语并将其转换为加密系统所需形式的 key (使用“ key 派生函数”)。以下是一些引用资料:

换句话说,如果您比较 PBE 和 DES 或 AES,您就是在比较苹果和橘子。

所以你在这里真正谈论的是将 PBE 与使用随 secret 钥进行比较。 PBE的优势:

  • 密码或通行短语比随 secret 钥更容易记住。 (事实上​​ ,随 secret 钥通常非常难以内存,以至于普通人需要将它们放入“ key 圈”或其他东西......然后使用密码或密码短语保护!)

缺点包括:

  • 密码或通行短语可能是可猜测的。
  • 未加盐的密码或密码短语可能容易受到使用“彩虹表”的攻击。<​​/li>

关于java - PBE 相对于 DES、3DES 和 AES 的优势,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16129562/

相关文章:

Java 8 Stream API min() 和 max() 与收集器 minBy() 和 maxBy()

java - 如何为 spark mllib kmeans 聚类算法格式化数据?

android - Glide Images的DiskCache加解密?

java - 是否可以使用 Java 加密体系结构访问 SCrypt?

python - 为什么我的代码不根据字典解码加密字符串?

java - 用 Java 解密 .SWF 文件

java - 如何在散点图中添加一条线? (Java、jmathplot)

java - 自定义 RDD 的分区提示

java - 动态地将数据填充到微调器中

encryption - 是否可以使用 BitSlice 方法在 GPU 上加速 AES 批量加密?