簡體   English   中英

DESede和TripleDES之間的差異cipher.getInstance()

[英]Difference between DESede and TripleDES for cipher.getInstance()

我試圖讓TripleDES加密工作在Java中。 Keying Options下的Wikipedia文章中 ,我想使用選項1,其中All three keys are independent

Cipher文檔中可以看到這里參考指南 ,但我仍然不清楚。

我正在努力運行示例,並在不同的項目中使用這兩行:

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

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

編譯都很好,那有什么區別? 我應該使用其中一個嗎? 這兩個都可以使用三個獨立的鍵嗎?

“TripleDES”只是Sun JCE提供程序中“DESede”的別名 - 兩者都返回完全相同的密碼。 “DESede”是應該適用於每個Java平台的標准名稱,但在實踐中,“TripleDES”可能也得到了廣泛的支持。

根據此頁面 ,SunJCE Triple DES實現支持選項#1和#2:

Keysize必須等於112或168。

密鑰大小為112將生成具有2個中間密鑰的Triple DES密鑰,密鑰大小為168將生成具有3個中間密鑰的Triple DES密鑰。

在實例化密碼時,應始終指定操作模式和填充,以使您的意圖清晰。 否則,實施可以自由選擇,這可能會令人困惑。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM