Skip to content

Repository files navigation

Overview

As a software engineer eager to enhance my skills, I developed a Java program demonstrating file encryption and decryption. The primary goal is to showcase proficiency in Java language syntax and highlight key concepts related to cryptography, file I/O, and user interaction through a simple command-line interface.

The program allows users to encrypt and decrypt the contents of a file using the AES encryption algorithm with CBC mode and PKCS5 padding. The software employs standard Java libraries for cryptographic operations, demonstrating secure file handling techniques.

Software Demo Video

Demo Video

In the demonstration video, I provide a 4-5 minute walkthrough of the program's functionality. I emphasize key aspects of the Java language syntax utilized in the code. The focus is on understanding how cryptographic operations, file handling, and user interaction are implemented in Java.

Development Environment

The software was developed using the following tools:

  • IDE: Visual Studio Code
  • Programming Language: Java
  • Libraries: Standard Java Cryptography Architecture (JCA)

Useful Websites

During the development of this project, the following websites were valuable resources:

Future Work

In future iterations, I plan to address the following:

  • Improved User Interface: Enhance the command-line interface for a more user-friendly experience.
  • Error Handling: Implement robust error handling to gracefully manage unexpected situations.
  • Algorithm Flexibility: Allow users to choose different encryption algorithms and modes.
  • Embed Algorithm Inencryptio Allow the algorithm to be part of the encrypted file so that the user can run and encrypt a file, and decrypt it after out side of the same run.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages