DES 加密后的密钥,如何保存或发送?

来源:百度知道 编辑:UC知道 时间:2024/06/14 14:59:57
DES 加密后的密钥,如何保存或发送?
因为我看到java用获得des加密的密钥的代码如下:
KeyGenerator keygen = KeyGenerator.getInstance(Algorithm);
SecretKey deskey = keygen.generateKey();
这个密钥deskey 不是字符串
我不知道怎么保存或发送,请高手指点,谢谢
怎么发送给对方后,对方可以用这个密钥来解密。

import java.security.Key;
import java.security.KeyException;
import java.security.NoSuchAlgorithmException;
import javax.crypto.Cipher;
import javax.crypto.IllegalBlockSizeException;
import javax.crypto.KeyGenerator;
import javax.crypto.NoSuchPaddingException;
import javax.crypto.SecretKey;

public class Test {

////这块不熟还请自己测试
public static void main(String [] args) {
String Algorithm="DES"; //定义 加密算法,可用 DES,DESede,Blowfish
KeyGenerator keygen;
try {
keygen = KeyGenerator.getInstance(Algorithm);
SecretKey deskey = keygen.generateKey();
Cipher ci = Cipher.getInstance("DES");
//将其包装为byte[]发送
byte[] b = ci.wrap(deskey);
//发送
//...
//接收到后
//解封装
Key key = ci.unwrap(b, Algorithm, Cipher.PRIVATE_KEY);
//...

} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
} catch (KeyException