gpt4 book ai didi

java - cipher.getInstance() 的 DESede 和 TripleDES 之间的区别

转载 作者:太空狗 更新时间:2023-10-29 22:33:05 24 4
gpt4 key购买 nike

我正尝试在 Java 中使用 TripleDES 加密。来自Wikipedia articleKeying Options 下,我想使用选项 1,其中 所有三个键都是独立的

来自Cipher docs它说去reference guide here ,但我仍然不清楚。

我正在努力运行示例,并在不同的项目中使用这两行:

Cipher c = Cipher.getInstance("DESede");

Cipher cipher = Cipher.getInstance("TripleDES/ECB/PKCS5Padding");

两者都可以编译,那有什么区别呢?我应该使用一个吗?这两个都适用于使用三个单独的 key 吗?

最佳答案

“TripleDES”只是 Sun JCE 提供程序中“DESede”的别名——两者都返回完全相同的密码。 “DESede”是应该适用于每个 Java 平台的标准名称,但在实践中,“TripleDES”可能也得到了相当广泛的支持。

根据 this page ,SunJCE Triple DES 实现支持选项 #1 和 #2:

Keysize must be equal to 112 or 168.

A keysize of 112 will generate a Triple DES key with 2 intermediate keys, and a keysize of 168 will generate a Triple DES key with 3 intermediate keys.

在实例化密码时,您应该始终指定操作模式和填充,以明确您的意图。否则,实现可以自由选择,这可能会造成混淆。

关于java - cipher.getInstance() 的 DESede 和 TripleDES 之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17280104/

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