[英]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.