Jui*_*iCe 18 java encryption cryptography tripledes
我试图让TripleDES加密工作在Java中.从维基百科的文章下Keying Options
,我想用选项1,其中All three keys are independent
.
从Cipher文档中可以看到这里的参考指南,但我仍然不清楚.
我正在努力运行示例,并在不同的项目中使用这两行:
Cipher c = Cipher.getInstance("DESede");
Cipher cipher = Cipher.getInstance("TripleDES/ECB/PKCS5Padding");
Run Code Online (Sandbox Code Playgroud)
编译都很好,那有什么区别?我应该使用其中一个吗?这两个都可以使用三个独立的键吗?
nto*_*rnl 31
"TripleDES"只是Sun JCE提供程序中"DESede"的别名 - 两者都返回完全相同的密码."DESede"是应该适用于每个Java平台的标准名称,但在实践中,"TripleDES"可能也得到了广泛的支持.
根据此页面,SunJCE Triple DES实现支持选项#1和#2:
Keysize必须等于112或168.
密钥大小为112将生成具有2个中间密钥的Triple DES密钥,密钥大小为168将生成具有3个中间密钥的Triple DES密钥.
在实例化密码时,应始终指定操作模式和填充以使您的意图清晰.否则,实施可以自由选择,这可能会令人困惑.