This is a web-app project using AES (advanced encryption standard) to send and receive encrypted messages. AES is a symmetrical encryption which means the same key is used for encryption and decryption and a personalized key can be used for sending and receiving messages. Follow the link above to go to the app.
I made this web-app using a MERN-stack, i.e. it’s a full-stack project using MongoDB (database), Express (backend framework), React (frontend) and Node (backend server).
This was a fun project to learn more full-stack development. By developing this project I learned more about user interfaces and state-management, web servers and back-end APIs. Setting up the web server to route the requests to the correct service using reverse-proxies was a useful learning experience to implement a REST-API backend. A schematic of the web servers is shown below.
Some simple instructions to use the app.
- Write a message and encrypt it using any key you like. To decrypt the message the key is required. If no key is entered a randomized key will be generated.
- To send the message press the “encrypt” button and copy the URL. The recipient needs to know the key to be able to decrypt the message.
- To Decrypt the message follow the URL and enter the key in the key-field and press the decrypt button.
- Messages are stored only in the encrypted format. They are near impossible to read without the key.