好久没更新博客了,最近在帮老师整理项目,本来对socket接触的不多。本次不多说废话,直接说项目
项目要求:1.实现服务端和客户端的传输文件加解密,我这边实现的是服务端传输加密后的文件,客户端收到文件后解密,为了展示方便,我此次采用了AES加密方式,填充方式采用AES/CBC/PKCS5Padding。
2.实现客户端验证文件是否为服务端发送的文件,我这边采用的是md5码加密,将服务端的md5码和文件一并发送给客户端,客户端对收到的文件进行md5加密,再将收到的md5和文件加密的md5进行对比。
由于代码比较长,为了方便看,此次,我仅介绍C/S端加解密,代码部分我会拆分了写。
在这里我就不给出import了,都是java的基本库
1.C/S加解密传输
1.1客户端
public class FileTransferClient{
public static void main(String [] args){
try{
Socket s=new Socket("127.0.0.1",9500);//本机地址、端口号
DataInputStream so=new DataInputStream(s.getInputStream());//输入流创建,接收服务端发送信息
System.out.println(so.readUTF());
FileOutputStream f=new FileOutputStream("D:\\test.txt");//文件存储地址
int p;
System.o