The Decoder Ring application is designed to encode and decode messages utlizing various algorithms.
The Decoder Ring application encompasses the following encryption and decryption techniques:
- Caesar Shift: Handles shifting of letters in the alphabet based on a given shift value.
- Polybius Square: Utilizes a 5x5 grid to encode and decode messages by mapping each letter to a unique pair of coordinates.
- Substitution Cipher: Encrypts and decrypts messages by substituting letters with corresponding characters from a provided alphabet.
To get started with this project, follow these steps:
- Clone this repository to your local machine using
git clone https://github.com/cannonspears/decoder.git
. - Navigate to the project directory using
cd decoder
. - Install the required dependencies using
npm install
. - Start the development server using
npm start
.
This project includes a set of tests that can be run using the command line. To run the tests, use the command npm test
.
Throughout this project, I have accomplished the following learning objectives:
- Built complex algorithms to implement the Caesar shift, Polybius square, and substitution cipher encoding and decoding methods.
- Developed a strong understanding of unit testing using Mocha and Chai frameworks to ensure the accuracy and reliability of my algorithms.
- Gained proficiency in writing different
expect()
methods to thoroughly test code functionality.
This project was created by Cannon Spears in association with Thinkful.