时间:2021-05-02
本文实例讲述了java实现的对称加密算法3des定义与用法。分享给大家供大家参考,具体如下:
一 为什么出现3des
1、返回柯克霍夫原则
2、存在安全问题
二 3des(triple des或desede)好处
1、密钥长度增强
2、迭代次数提高
三 3des相关参数
四 3des代码实现
? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 package com.imooc.security.des; import java.security.key; import java.security.securerandom; import javax.crypto.cipher; import javax.crypto.keygenerator; import javax.crypto.secretkey; import javax.crypto.secretkeyfactory; import javax.crypto.spec.desedekeyspec; import org.apache.commons.codec.binary.base64; public class imooc3des { private static string src = "cakin24 security 3des"; public static void main(string[] args) { jdk3des(); } public static void jdk3des() { try { //生成key keygenerator keygenerator = keygenerator.getinstance("desede"); //keygenerator.init(168); keygenerator.init(new securerandom());//默认长度 secretkey secretkey = keygenerator.generatekey(); byte[] byteskey = secretkey.getencoded(); //key转换 desedekeyspec desedekeyspec = new desedekeyspec(byteskey); secretkeyfactory factory = secretkeyfactory.getinstance("desede"); key convertsecretkey = factory.generatesecret(desedekeyspec); //加密 cipher cipher = cipher.getinstance("desede/ecb/pkcs5padding"); cipher.init(cipher.encrypt_mode, convertsecretkey); byte[] result = cipher.dofinal(src.getbytes()); system.out.println("jdk 3des encrypt : " + base64.encodebase64string(result)); //解密 cipher.init(cipher.decrypt_mode, convertsecretkey); result = cipher.dofinal(result); system.out.println("jdk 3des decrypt : " + new string(result)); } catch (exception e) { e.printstacktrace(); } } }五 实现效果
jdk 3des encrypt : 6t7a/rnardzsl+mtezvbfxwnnzr0yjbw
jdk 3des decrypt : cakin24 security 3des
注:这里引入了org.apache.commons.codec.binary.base64包,可点击此处本站下载。
希望本文所述对大家java程序设计有所帮助。
原文链接:https://blog.csdn.net/chengqiuming/article/details/78746057
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例讲述了python实现的DES加密算法和3DES加密算法。分享给大家供大家参考。具体实现方法如下:###########################
不安全的加密算法有以下几种: 1、DES(DataEncryptionStandard):数据加密标准,速度较快,适用于加密大量数据的场合。 2、3DES(
一、前言AES,高级加密标准(英语:AdvancedEncryptionStandard)。是用来替代DES,目前比较流行的加密算法。它是一种对称加密算法,与上
本文实例讲述了java实现的RSA加密算法。分享给大家供大家参考,具体如下:一、什么是非对称加密1、加密的密钥与加密的密钥不相同,这样的加密算法称之为非对称加密
本文实例讲述了java实现的DES加密算法。分享给大家供大家参考,具体如下:一、DES加密算法介绍1、要求密钥必须是8个字节,即64bit长度2、因为密钥是by