- University: University of Prishtina "Hasan Prishtina"
- Faculty: Faculty of Electrical and Computer Enigneering
- Department: Computer and Software Engineering
- Course: Data Security
- Semester: 4th Semester
- Professor: Blerim Rexha
- Assistent: Mergim Hoti
This Java-based project provides a utility for encrypting and decrypting files and strings using the DES encryption algorithm. The application allows users to input the path of a file or directly enter a string to be encrypted or decrypted. This utility can be useful for ensuring data security in digital communications.
To run this project on your device, you will need:
- Java Development Kit (JDK) - Version 8 or later.
- An IDE such as IntelliJ IDEA or Eclipse to open and run the project.
- Download the necessary
jaxb-api
JAR file from JAXB API Maven Repository.
- Open your project in IntelliJ IDEA.
- Navigate to File > Project Structure.
- Select Modules under the Project Settings on the left.
- Click on the Dependencies tab.
- Click the '+' button at the bottom of the window to add a new dependency.
- Choose 'JARs or directories...'.
- Find and select the downloaded JAR files in the file chooser dialog. You can select multiple JAR files at once by holding the Ctrl key (Cmd on macOS) while clicking.
- Click OK to add the JARs to your module's dependencies.
- Ensure that the JARs are marked as 'Compile' in the drop-down menu to the right of the dependency entry so that they are included in the build path and available during compilation and runtime.
- Click OK to close the Project Structure dialog.
- Clone the repository or download the Java files to your local machine.
- Open the terminal or command prompt.
- Navigate to the directory containing the Java files.
- Compile the Java program using
javac DESAlgorithm.java
. - Run the program using
java DESAlgorithm
. - Follow the on-screen prompts to either encrypt or decrypt a file or string.
The encryption and decryption tool:
- Allows users to securely encrypt files and strings, converting them into a non-readable format.
- Provides functionality to decrypt previously encrypted files and strings, restoring them to their original format.
- Users can expect the tool to generate encrypted outputs in hexadecimal format and to save these outputs into
.txt
files for encrypted data and.txt
files for decrypted data.
This project not only serves an educational purpose by illustrating practical applications of encryption algorithms in data security but also provides a functional tool that can be used in real-world data protection scenarios.