2 Star 0 Fork 0

20175334罗昕锐/java2017

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
KeyAgree.java 1.13 KB
一键复制 编辑 原始数据 按行查看 历史
20175334罗昕锐 提交于 6年前 . 实验五
/**
* @Author 16487
*/
import java.io.*;
import java.security.*;
import javax.crypto.*;
import javax.crypto.spec.*;
public class KeyAgree{
public KeyAgree(){}
public static SecretKeySpec KeyAgree(String a,String b) throws Exception{
// 读取对方的DH公钥
FileInputStream f1=new FileInputStream(a);
ObjectInputStream b1=new ObjectInputStream(f1);
PublicKey pbk=(PublicKey)b1.readObject( );
//读取自己的DH私钥
FileInputStream f2=new FileInputStream(b);
ObjectInputStream b2=new ObjectInputStream(f2);
PrivateKey prk=(PrivateKey)b2.readObject( );
// 执行密钥协定
KeyAgreement ka=KeyAgreement.getInstance("DH");
ka.init(prk);
ka.doPhase(pbk,true);
//生成共享信息
byte[ ] s=ka.generateSecret();
byte []sb = new byte[24];
System.arraycopy(s, 0, sb, 0, 24);
System.out.println("共享秘钥:");
for(int i=0;i<sb.length;i++){
System.out.print(sb[i]+" ");
}
System.out.println();
SecretKeySpec k=new SecretKeySpec(sb,"DESede");
return k;
}
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Java
1
https://gitee.com/lxr175334/java2017.git
git@gitee.com:lxr175334/java2017.git
lxr175334
java2017
java2017
master

搜索帮助