Skip to content

SamarjeetRay/Enigmify-java

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🔐 Enigmify

A Java console application to encrypt and decrypt text using classical cipher algorithms.


📌 About

Enigmify lets you securely encode and decode sensitive text using two of the most well-known classical cryptography techniques — Caesar Cipher and Vigenère Cipher. All operations are logged persistently so you can track your encryption history anytime.


✨ Features

  • 🔒 Caesar Cipher — Encrypt & decrypt using a numeric shift key
  • 🔑 Vigenère Cipher — Encrypt & decrypt using an alphabetic keyword
  • 📜 Operation History — Every operation is saved to history.txt
  • 🗑️ Clear History — Wipe all logs with a single option
  • 💡 Handles spaces & symbols — Non-letter characters are preserved as-is

🚀 How to Run

Prerequisites

  • Java JDK 8 or above installed
  • Any terminal / command prompt

Steps

# 1. Clone the repository
git clone https://github.com/SamarjeetRay/Enigmify.git

# 2. Navigate into the folder
cd Enigmify

# 3. Compile all Java files
javac *.java

# 4. Run the program
java Main

🖥️ Demo

==========================================
         ENIGMIFY - by Samarjeet
  Encrypt & Decrypt with Classical Ciphers
==========================================

===== MENU =====
1. Caesar Cipher  - Encrypt
2. Caesar Cipher  - Decrypt
3. Vigenere Cipher - Encrypt
4. Vigenere Cipher - Decrypt
5. View History
6. Clear History
0. Exit

Enter choice: 1
Enter text to encrypt: HELLO
Enter shift key (number): 3
Encrypted: KHOOR

🧠 How It Works

Caesar Cipher

Each letter is shifted forward by a fixed number (the key).

Text:   H  E  L  L  O
Shift:  3  3  3  3  3
Output: K  H  O  O  R

To decrypt — shift back by the same number.

Vigenère Cipher

Each letter is shifted by a different amount based on a repeating keyword.

Text:    H  E  L  L  O
Key:     K  E  Y  K  E   (KEY repeats)
Output:  R  I  J  V  S

To decrypt — reverse the keyword shifts.


📁 Project Structure

Enigmify/
├── Main.java            # Menu-driven entry point
├── CaesarCipher.java    # Caesar encrypt/decrypt logic
├── VigenereCipher.java  # Vigenere encrypt/decrypt logic
├── HistoryManager.java  # Save/load/clear history.txt
└── README.md            # Project documentation

🛠️ Tech Stack

Technology Usage
Java Core programming language
BufferedReader / BufferedWriter File I/O for history logging
StringBuilder Efficient string manipulation
Scanner Console input handling

👨‍💻 Author

Samarjeet Kumar Ray
LinkedIn GitHub


📄 License

This project is open source and available under the MIT License.

About

Java console app to encode and decode text using Caesar and Vigenère ciphers, with a session-level operation log saved to file.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages