Java 加密解密对称加密算法DESede.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Java 加密解密对称加密算法DESede

Java 加密解密之对称加密算法DESede 本文转自网络 DESede即三重DES加密算法,也被称为3DES或者Triple DES。使用三(或两)个不同的密钥对数据块进行三次(或两次)DES加密(加密一次要比进行普通加密的三次要快)。三重DES的强度大约和112-bit的密钥强度相当。通过迭代次数的提高了安全性,但同时也造成了加密效率低的问题。正因DESede算法效率问题,AES算法诞生了。?(详见:? HYPERLINK /admin/blogs/1133494 \t _blank Java 加密解密之对称加密算法AES?) ? 到目前为止,还没有人给出攻击三重DES的有效方法。对其密钥空间中密钥进行蛮干搜索,那么由于空间太大,这实际上是不可行的。若用差分攻击的方法,相对于单一DES来说复杂性以指数形式增长。 ? 三重DES有四种模型 (a)DES-EEE3,使用三个不同密钥,顺序进行三次加密变换。 (b)DES-EDE3,使用三个不同密钥,依次进行加密-解密-加密变换。 (c)DES-EEE2,其中密钥K1=K3,顺序进行三次加密变换。 (d)DES-EDE2, 其中密钥K1=K3,依次进行加密-解密-加密变换。 ? JDK对DESede算法的支持 密钥长度:112位/168位 工作模式:ECB/CBC/PCBC/CTR/CTS/CFB/CFB8 to CFB128/OFB/OBF8 to OFB128 填充方式:Nopadding/PKCS5Padding/ISO10126Padding/ ? 工作模式和填充方式请参考:??? ?? HYPERLINK /blog/1129339 \t _blank JAVA加密解密基础 ????????十六进制工具类Hex.java,见:??? HYPERLINK /blog/1129228 \t _blank java byte数组与十六进制字符串互转 ? DESede加密解密的java实现: DESede?.java Java代码?? import?java.security.Key;?? ?? import?javax.crypto.Cipher;?? import?javax.crypto.KeyGenerator;?? import?javax.crypto.SecretKey;?? import?javax.crypto.SecretKeyFactory;?? import?javax.crypto.spec.DESedeKeySpec;?? ?? /**? ?*?DESede?Coderbr/? ?*?secret?key?length:???112/168?bit,?default:???168?bitbr/? ?*?mode:????ECB/CBC/PCBC/CTR/CTS/CFB/CFB8?to?CFB128/OFB/OBF8?to?OFB128br/? ?*?padding:?Nopadding/PKCS5Padding/ISO10126Padding/? ?*?@author?Aub? ?*?? ?*/?? public?class?DESedeCoder?{?? ?????? ????/**? ?????*?密钥算法? ????*/?? ????private?static?final?String?KEY_ALGORITHM?=?DESede;?? ?????? //??private?static?final?String?DEFAULT_CIPHER_ALGORITHM?=?DESede/ECB/PKCS5Padding;?? ????private?static?final?String?DEFAULT_CIPHER_ALGORITHM?=?DESede/ECB/ISO10126Padding;?? ?????? ????/**? ?????*?初始化密钥? ?????*?? ?????*?@return?byte[]?密钥?? ?????*?@throws?Exception? ?????*/?? ????public?static?byte[]?initSecretKey()?throws?Exception{?? ????????//返回生成指定算法的秘密密钥的?KeyGenerator?对象?? ????????KeyGenerator?kg?=?KeyGenerator.getInstance(KEY_ALGORITHM);?? ????????//初始化此密钥生成器,使其具有确定的密钥大小?? ????????kg.init(168);?? ????????//生成一个密钥?? ????????SecretKey??

文档评论(0)

mi80868668 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档