Decrypt2Archive is a Java-based client-server application for decrypting and archiving files. It uses sockets for communication (java.net.ServerSocket and java.net.Socket) and processes .txt and .xls/.xlsx files encrypted with a provided encryption suite. Decrypted files are compressed into an archive and stored in a specified output directory.
- Client-server architecture using
java.net.ServerSocketandjava.net.Socket - Text-based communication protocol (no object serialization)
- Decrypts files using the provided encryption logic
- Supports
.txtand.xls/.xlsxfiles - Compresses decrypted files into a single zip
- Logs all actions into the database
java -jar server_2.jar -p <portNumber> -d <pathToDatabase> -o <pathToOutputDir>portNumber: Port for the server to listen onpathToDatabase: Path to the SQLite database (e.g.,./database.sqlite3)pathToOutputDir: Destination directory for the output file
java -jar client_2.jar -s <serverAddress> -p <portNumber> -i <pathToInputDir>serverAddress: Address of the server machineportNumber: Port number the server is listening onpathToInputDir: Folder with encrypted input files
Important: Start the server before launching the client.
The client and server communicate using a text-based protocol. The protocol involves the following steps:
- Client connects to the server
- Client sends information about files to be processed
- Server acknowledges and begins processing
- Server sends final result (success/failure)
- Connection is closed
The SQLite database contains the following tables:
-
aes_keys- Stores decryption keys for fileskey: Decryption keyfile: File names
-
actions- Records all system operationsid: Primary keyaction: Type of operation performeddate: Time of the operation
This project is licensed under the MIT License. Provided for educational purposes, based on a task by msgNETCONOMY. See the LICENSE file for details.