2 Star 0 Fork 0

CS-IMIS-23 / TeamWork

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
SocketClient.java 2.89 KB
一键复制 编辑 原始数据 按行查看 历史
package experiment4;
import experiment4.suffix;
import javax.crypto.BadPaddingException;
import javax.crypto.Cipher;
import javax.crypto.IllegalBlockSizeException;
import javax.crypto.NoSuchPaddingException;
import java.io.*;
import java.net.Socket;
import java.security.InvalidKeyException;
import java.security.Key;
import java.security.NoSuchAlgorithmException;
import java.util.Scanner;
/**
* Created by besti on 2018/6/9.
*/
public class SocketClient {
public static void main(String[] args) throws IOException, InvalidKeyException, ClassNotFoundException, NoSuchPaddingException, NoSuchAlgorithmException, BadPaddingException, IllegalBlockSizeException {
//1.建立客户端Socket连接,指定服务器位置和端口
// Socket socket = new Socket("localhost",8080);
Socket socket = new Socket("172.16.43.164",8800);
//2.得到socket读写流
OutputStream outputStream = socket.getOutputStream();
// PrintWriter printWriter = new PrintWriter(outputStream);
OutputStreamWriter outputStreamWriter = new OutputStreamWriter(outputStream);
//输入流
InputStream inputStream = socket.getInputStream();
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream,"UTF-8"));
//3.利用流按照一定的操作,对socket进行读写操作
System.out.println("请输入一个问题:");
Scanner scan =new Scanner(System.in);
String info2 =scan.nextLine();
suffix suffix = new suffix();
String info1 = suffix.getAnswer(info2);
System.out.println(info1);
FileInputStream f=new FileInputStream("key1.dat");
ObjectInputStream b=new ObjectInputStream(f);
Key k=(Key)b.readObject( );
Cipher cp=Cipher.getInstance("DESede");
cp.init(Cipher.ENCRYPT_MODE, k);
byte ptext[]=info1.getBytes("UTF8");
for(int i=0;i<ptext.length;i++){
System.out.print(ptext[i]+",");
}
System.out.println("");
byte ctext[]=cp.doFinal(ptext);
for(int i=0;i<ctext.length;i++){
System.out.print(ctext[i] +",");
}
System.out.println();
FileOutputStream f2=new FileOutputStream("SEnc.dat");
f2.write(ctext);
// String info = new String(ctext,"UTF8");
// printWriter.write(info);
// printWriter.flush();
outputStream.write(ctext);
outputStream.flush();
socket.shutdownOutput();
//接收服务器的响应
String reply = null;
reply = bufferedReader.readLine();
System.out.println(reply);
//4.关闭资源
bufferedReader.close();
inputStream.close();
outputStreamWriter.close();
//printWriter.close();
outputStream.close();
socket.close();
}
}
Java
1
https://gitee.com/CS-IMIS-23/TeamWork.git
git@gitee.com:CS-IMIS-23/TeamWork.git
CS-IMIS-23
TeamWork
TeamWork
f212a80cf3d3f2f484ec9c3e051d22e762d1ca9e

搜索帮助