/decoder

Application designed to encode and decode messages utlizing various algorithms.

Primary LanguageJavaScript

Decoder

The Decoder Ring application is designed to encode and decode messages utlizing various algorithms.

Project Description

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.

Getting Started

To get started with this project, follow these steps:

  1. Clone this repository to your local machine using git clone https://github.com/cannonspears/decoder.git.
  2. Navigate to the project directory using cd decoder.
  3. Install the required dependencies using npm install.
  4. Start the development server using npm start.

Running Tests

This project includes a set of tests that can be run using the command line. To run the tests, use the command npm test.

Learning Objectives Achieved

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.

Author

This project was created by Cannon Spears in association with Thinkful.