Skip to content

MrTarik2112/Encrypter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 

Repository files navigation

🌐 Modern Encryption Tool

Welcome to the Modern Encryption Tool! This web-based application allows you to encrypt and decrypt text using AES-256 encryption and Base64 encoding through a beautiful, modern, and intuitive interface. The encryption process is done in three layers: first AES-256 encryption, followed by Base64 encoding, and finally, a second AES-256 encryption. Similarly, the decryption follows the reverse process.

🌟 Features

  • Triple-layer encryption: AES-256 ➡️ Base64 ➡️ AES-256.
  • Modern User Interface: Clean, minimalist, and fully responsive UI with smooth transitions and engaging interactions.
  • Easy to use: Simple inputs for encryption and decryption with clear prompts.
  • Instant Feedback: Encrypted and decrypted results are shown instantly on the same page.
  • Cross-browser support: Works seamlessly across modern browsers.
  • Customizable: Easy to modify and expand with additional features.

🎨 User Interface

The UI includes:

  1. Encryption Tab: Input your plain text and two AES-256 keys. The encrypted result will appear in the output field.
  2. Decryption Tab: Input your previously encrypted text and the same AES-256 keys used for encryption. The original text will be displayed as output.

The interface features:

  • Beautiful Icons: Leveraging Font Awesome for lock/unlock icons to make it visually appealing.
  • Smooth Transitions: Button and input effects are visually smooth and responsive, creating a modern feel.
  • Interactive Tab Navigation: Switch between encryption and decryption tabs with a single click.

🚀 Getting Started

Prerequisites

To run this project locally, all you need is a web browser. No additional setup is required.

Installation

  1. Clone this repository:
    git clone https://github.com/your-username/encryption-tool.git
  2. Navigate to the project directory:
    cd encryption-tool
  3. Open the index.html file in any web browser:
    open index.html

That's it! You now have the encryption tool running locally.

🛠️ How It Works

The encryption and decryption processes are done using CryptoJS, a powerful JavaScript library for cryptographic algorithms.

Encryption Process

  1. AES-256 encryption: The text is first encrypted with the first AES-256 key.
  2. Base64 encoding: The AES-encrypted text is then Base64-encoded for safe storage or transmission.
  3. Second AES-256 encryption: Finally, the Base64-encoded text is encrypted again using the second AES-256 key.

Decryption Process

  1. First AES-256 decryption: The encrypted text is decrypted with the second AES-256 key.
  2. Base64 decoding: The resulting text is decoded from Base64 format.
  3. Second AES-256 decryption: Finally, the Base64-decoded text is decrypted again using the first AES-256 key.

Key Points

  • AES-256 Encryption: Advanced Encryption Standard with a 256-bit key is used for strong encryption.
  • Base64 Encoding: Ensures the encrypted data can be safely transmitted or stored as text.

🖼️ Screenshots

Encryption Page

image

Decryption Page

image

👨‍💻 Technologies Used

  • HTML5: For the structure and layout of the application.
  • CSS3: For modern, responsive design, including smooth transitions and effects.
  • JavaScript (ES6): For encryption and decryption logic.
  • CryptoJS: For AES-256 encryption and Base64 encoding/decoding.
  • Font Awesome: For icons used in buttons and interface elements.

🎯 To-Do List

  • Add the ability to save encrypted files.
  • Implement more encryption algorithms (RSA, Blowfish, etc.).
  • Add a password strength meter.
  • Implement a dark mode theme.
  • Add multi-language support.

🧑‍🏫 Usage Instructions

Encrypting Text

  1. Go to the "Encrypt" tab.
  2. Enter the text you want to encrypt in the "Text to Encrypt" field.
  3. Enter the first AES key (256-bit) in the first key input field.
  4. Enter the second AES key (256-bit) in the second key input field.
  5. Click the "Encrypt" button.
  6. The encrypted text will appear in the output field.

Decrypting Text

  1. Go to the "Decrypt" tab.
  2. Enter the encrypted text in the "Text to Decrypt" field.
  3. Enter the first AES key (256-bit) in the first key input field (same key used during encryption).
  4. Enter the second AES key (256-bit) in the second key input field (same key used during encryption).
  5. Click the "Decrypt" button.
  6. The decrypted text will appear in the output field.

🔧 Configuration

The tool is ready to use out of the box, but you can modify the following parts:

  • AES keys: You can easily modify how keys are handled, e.g., by implementing a key generation function.
  • User Interface: All UI elements are modular and can be customized in style.css.
  • Additional Security: You can add more encryption layers or switch to other algorithms by updating the JavaScript logic.

💡 Learn More

To dive deeper into the technologies used:

🛡️ Security Considerations

When using this tool:

  • AES-256 is secure: AES-256 is one of the most secure encryption algorithms, used by governments and organizations worldwide.
  • Key Security: Ensure that the AES keys are securely stored and transmitted. The strength of AES encryption lies in the confidentiality of the key.

👥 Contributions

We welcome contributions from the community! Here's how you can contribute:

  1. Fork the repository.
  2. Create a new feature branch.
  3. Make your changes and commit them.
  4. Submit a pull request for review.

Please ensure your code follows the project's coding standards and is well-documented.



U2FsdGVkX1+29hlti0GIOtQfibpcaaGtB2R45nztyBOBwwHosJ54c8yLC+zGoeDraue9YyENuaov04rXOR1OZr30gvC3nRIsxsJf/QQHafJ6e3KHGhn4BB3hem9mmB9wo4Wjf8UIw2In7MxShvNjXgQU4qgCaWHY2JF92C1wal/Ghj1uhjfAytkxBM5k2LbW

1-1