This is one project from Lehigh CSE303 course which enables user to upload and download file in multiple secure methods.
- a server listening on certain port so that client can connect it to send and recieve files.
- a well-defined protocol for client and server so that they can send file fast and correctly.
- Using md5 to verify, public-private key to encrypt the content of file.
- Implemented LRU cache on both client and server.
##Preparation:
- Clone the repository.
cdto the newly cloned project.- Run
makein command line to get output file in./obj64.
- To run server, you need to build one folder as root of server.
cdto that folder and execute server file with./.../server. Here,serveris the file in./obj64folder.- There are three parameters:
-hhelp;-lcache basket #;-pport.
-
To run client, you also need to build one folder as root of client.
-
cdto that folder and execute server file with./.../client. Here,clientis the file in./obj64folder. -
There are six parameters:
-hhelp;-sserver IP;-Pput file name;-Gget file name;-Ssave file name; `-P port. -
You can build pem encryption file with:
openssl genrsa -out private.pem 2048 openssl rsa -in private.pem -outform PEM -pubout -out public.pem
and put them in ./obj64. Program would recognize them and encrypt or decrypt file automatically.
RSA, Openssl, md5, Socket