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.ServerSocket
andjava.net.Socket
- Text-based communication protocol (no object serialization)
- Decrypts files using the provided encryption logic
- Supports
.txt
and.xls/.xlsx
files - 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.