# Encrypt-to-HTML #### Simple implementation of files embedding to HTML as a blob, with AES-CBC Encryption. ## Features - Embeds any file type into an HTML as a Base64-encoded blob. - Provides AES-CBC encryption for the embedded file. - Embeds CryptoJS in the HTML for offline decryption. - Includes password verification functionality using random test data. ## Requirements - Python 3 - Crypto (`pip install pycryptodome`) - Jinja2 (`pip install Jinja2`) ## Usage ``` python3 encrypt-to-html.py [output_file] [output_template] ``` - ``: The file you want to encrypt and embed. - ``: The encryption key. It is hashed to a 256-bit key using SHA256. - `[output_file]`: Optional. The output HTML file. If not provided, the output file will be named as `-enc.html`. - `[output_template]`: Optional. A custom Jinja2 HTML template file to use instead of the default embedded template. ## Note The generated HTML file uses the CryptoJS library for decryption. This library is embedded in the HTML, ensuring the decryption process can be done offline. ## Example To encrypt and embed a file named `example.txt` with the key `example_key`, you would run: `python3 Encrypt-to-HTML.py example.txt example_key` This will create an HTML file named `example.txt-enc.html` containing the encrypted and embedded file, which can be decrypted using the provided key. ## License This project is licensed under the terms of the MIT license.