-
-
key002
2019-11-13
- add
-
0赞 · 0采集
-
-
长安未央
2019-10-23
- JDK实现3DES<br/><br/>与实现DES方式基本一致,算法名称要改为DESede,密钥长度为168,转换密钥时使用DESedeKeySpec类.<br/><br/>初始化密钥:<br/><br/>public static byte[] initSecretKey(){<br/><br/>KeyGenerator kg = KeyGenerator.getInstance("DESede"); <br/><br/>kg.init(168);<br/><br/>SecretKey secretKey = kg.generateKey();<br/><br/>return secretKey.getEncoded();<br/><br/>}<br/><br/>转化密钥:<br/><br/>private static Key toKey(byte[] key){<br/><br/>DESedeKeySpec dks = new DESedeKeySpec(key);<br/><br/>SecretKeyFactory skf = SecretKeyFactory.getInstance("DESede");<br/><br/>SecretKey secretKey = skf.generateSecret(dks);<br/><br/>return secretKey;<br/><br/>}<br/><br/>加密:<br/><br/>String cipherAlgorithm="DESede/ECB/PKCS5Padding";<br/><br/>public static byte[] encrypt(byte[] data,Key key,String cipherAlgorithm) {<br/><br/>Cipher cipher = Cipher.getInstance(cipherAlgorithm);<br/><br/>cipher.init(Cipher.ENCRYPT_MODE, key);<br/><br/>return cipher.doFinal(data);<br/><br/>}<br/><br/>解密:<br/><br/>public static byte[] decrypt(byte[] data,Key key,String cipherAlgorithm){<br/><br/>Cipher cipher = Cipher.getInstance(cipherAlgorithm); <br/> <br/>cipher.init(Cipher.DECRYPT_MODE, key);<br/> <br/>return cipher.doFinal(data);<br/><br/>}
-
截图
0赞 · 0采集
-
-
长安未央
2019-10-23
- 3、对称加密算法-3DES
-
截图
0赞 · 0采集
-
-
长安未央
2019-10-23
- 2、3重DES的好处
-
截图
0赞 · 0采集
-
-
长安未央
2019-10-23
1、3重DES
-
截图
0赞 · 0采集
-
-
12344554
2018-07-06
3重DES
-
截图
0赞 · 1采集
-
-
小明同学爱思考
2018-04-13
3重DES
-
截图
0赞 · 0采集
-
-
moocer9527
2017-07-21
- jdk3DES
-
截图
0赞 · 0采集
-
-
moocer9527
2017-07-20
- 生成默认长度
-
截图
0赞 · 0采集
-
-
moocer9527
2017-07-20
- 3重DES
-
截图
0赞 · 0采集
-
-
moocer9527
2017-07-20
- 3重DES
-
截图
0赞 · 0采集
-
-
moocer9527
2017-07-20
- 3重DES的好处
-
截图
0赞 · 0采集
-
-
moocer9527
2017-07-20
- DES存在的问题
-
截图
0赞 · 0采集
-
-
豌豆射手biu
2017-04-17
- 对称加密算法-3DES
-
截图
0赞 · 0采集
-
-
大LOVE辉
2017-03-05
- 对称加密算法3DES
-
截图
0赞 · 0采集
-
-
霜花似雪
2017-02-12
- BC实现3DES算法与BC实现DES算法类似.
在使用KeyGenerator的init()方法时,参数要指定密钥的长度.可以直接指定一个数值.同时也可以使用SecureRandom实例作为参数,该实例的作用是获取KeyGenerator对应算法其默认的密钥长度.
KeyGenerator kg = KeyGenerator.getInstance("DESede");
kg.init(168);
//kg.init(new SecureRandom());
-
0赞 · 2采集
-
-
霜花似雪
2017-02-12
- JDK实现3DES
与实现DES方式基本一致,算法名称要改为DESede,密钥长度为168,转换密钥时使用DESedeKeySpec类.
初始化密钥:
public static byte[] initSecretKey(){
KeyGenerator kg = KeyGenerator.getInstance("DESede");
kg.init(168);
SecretKey secretKey = kg.generateKey();
return secretKey.getEncoded();
}
转化密钥:
private static Key toKey(byte[] key){
DESedeKeySpec dks = new DESedeKeySpec(key);
SecretKeyFactory skf = SecretKeyFactory.getInstance("DESede");
SecretKey secretKey = skf.generateSecret(dks);
return secretKey;
}
加密:
String cipherAlgorithm="DESede/ECB/PKCS5Padding";
public static byte[] encrypt(byte[] data,Key key,String cipherAlgorithm) {
Cipher cipher = Cipher.getInstance(cipherAlgorithm);
cipher.init(Cipher.ENCRYPT_MODE, key);
return cipher.doFinal(data);
}
解密:
public static byte[] decrypt(byte[] data,Key key,String cipherAlgorithm){
Cipher cipher = Cipher.getInstance(cipherAlgorithm);
cipher.init(Cipher.DECRYPT_MODE, key);
return cipher.doFinal(data);
}
-
截图
0赞 · 1采集
-
-
霜花似雪
2017-02-12
- 3DES(3重DES)
DES被很多密码学机构质疑,因为算法是半公开的,因此违反柯克霍夫原则.
因此在这个基础上,延伸了3重DES.
3重DES与DES的区别:
1.密钥长度增长(168)
2.迭代次数提高
3重DES在实际应用中是应用最多的.
-
截图
0赞 · 1采集
-
-
mumu160
2016-12-19
- 3DES
-
截图
0赞 · 0采集
-
-
mumukk
2016-10-08
- 3des
-
截图
0赞 · 0采集
-
-
梦编猿
2016-08-06
- Java实现对称加密——对称加密算法--3DES II
Ps:keyGenerator.init(new SecureRandom());//生成默认长度
【温馨提示:JavaSE/EE、SSH/SSM、Hybrid APP、JQ/JS/CSS3/H5等编程爱好者关注我,加我慕课好友,互相学习,共同进步!】
-
截图
1赞 · 0采集
-
-
梦编猿
2016-08-06
- Java实现对称加密——对称加密算法--3DES I
Ps1:对称加解密的算法之DES是美国军方通过IBM来实现的,使用范围并不广泛,因为他违反了霍克科夫原则,加密型比较弱(安全性问题),所以后来产生了3重DES,这种加解密的算法使用较为广泛,加密性更好!
Ps2:3重DES的好处:1、密钥长度增强;2、迭代次数提高。
【温馨提示:JavaSE/EE、SSH/SSM、Hybrid APP、JQ/JS/CSS3/H5等编程爱好者关注我,加我慕课好友,互相学习,共同进步!】
-
截图
1赞 · 0采集
-
-
weenhall
2016-07-17
- 对称加密算法--3重DES
-
截图
0赞 · 0采集
-
-
慕前端5245061
2016-07-13
- 3重des加解密
注意keysize必须为112或者168位
-
截图
0赞 · 0采集
-
-
慕前端5245061
2016-07-13
- 3重DES
-
截图
0赞 · 0采集
-
-
慕前端5245061
2016-07-13
- 3重DES的好处
-
截图
0赞 · 0采集
-
-
慕前端5245061
2016-07-13
- 对称加解密的算法之DES是美国军方通过IBM来实现的(有后门),使用范围并不广泛,因为他违反了霍克科夫原则,加密型比较弱,所以,后来产生了3重DES,这种加解密的算法使用较为广泛,加密性更好!
-
截图
0赞 · 0采集
-
-
庄学爸
2016-06-30
- BC实现3DES算法与BC实现DES算法类似.
在使用KeyGenerator的init()方法时,参数要指定密钥的长度.可以直接指定一个数值.同时也可以使用SecureRandom实例作为参数,该实例的作用是获取KeyGenerator对应算法其默认的密钥长度.
KeyGenerator kg = KeyGenerator.getInstance("DESede");
kg.init(168);
//kg.init(new SecureRandom());
-
截图
0赞 · 0采集
-
-
庄学爸
2016-06-30
- JDK实现3DES
与实现DES方式基本一致,算法名称要改为DESede,密钥长度为168,转换密钥时使用DESedeKeySpec类.
初始化密钥:
public static byte[] initSecretKey(){
KeyGenerator kg = KeyGenerator.getInstance("DESede");
kg.init(168);
SecretKey secretKey = kg.generateKey();
return secretKey.getEncoded();
}
转化密钥:
private static Key toKey(byte[] key){
DESedeKeySpec dks = new DESedeKeySpec(key);
SecretKeyFactory skf = SecretKeyFactory.getInstance("DESede");
SecretKey secretKey = skf.generateSecret(dks);
return secretKey;
}
加密:
String cipherAlgorithm="DESede/ECB/PKCS5Padding";
public static byte[] encrypt(byte[] data,Key key,String cipherAlgorithm) {
Cipher cipher = Cipher.getInstance(cipherAlgorithm);
cipher.init(Cipher.ENCRYPT_MODE, key);
return cipher.doFinal(data);
}
解密:
public static byte[] decrypt(byte[] data,Key key,String cipherAlgorithm){
Cipher cipher = Cipher.getInstance(cipherAlgorithm);
cipher.init(Cipher.DECRYPT_MODE, key);
return cipher.doFinal(data);
}
-
0赞 · 0采集
-
-
庄学爸
2016-06-30
- 3DES(3重DES)
DES被很多密码学机构质疑,因为算法是半公开的,因此违反柯克霍夫原则.
因此在这个基础上,延伸了3重DES.
3重DES与DES的区别:
1.密钥长度增长(168)
2.迭代次数提高
3重DES在实际应用中是应用最多的.
-
截图
0赞 · 0采集