Caesars Cipher

  Last updated September 2023

  freeCodeCamp Certification Project

Logo for the JavaScript programming language

Developer Credits

  •   Developed by Daniel Fletcher

Project Link

View project on CodePen

Link will open in a new tab.

Skills & Technologies

  • JavaScript

Project Details

JavaScript implementation of the Caesar cipher substitution algorithm. Uses the common ROT13 variant.

It's time to get cryptographical!

In this project, I implemented a variant of the Caesar cipher algorithm known as ROT13. This essentially means that each letter in a given plaintext is swapped out for the exact letter 13 later in the alphabet, where 'Z' wraps back around to 'A' in terms of the calculation. Part of why this variant is common in learning environments (but absolutely atrocious in practice) is that any given ciphertext encoded using this method can be decrypted using the exact same method.

The CodePen link above will open an in-browser code editor and console. Tinkering at the console will enable you to interface with the  rot13  function I implemented.

If you'd like to hear one of my personal TV show hot takes, try calling  rot13  at the console to decrypt the following ciphertext:

"CNEXF NAQ ERP VF ORGGRE GUNA GUR BSSVPR"

Relevant links:

Related Projects

This is certification project 3 of 5 in the JavaScript Algorithms and Data Structures track at freeCodeCamp. Each of my project submissions in this track is linked below.

Palindrome Checker

Sep 2023

JavaScript implementation of a simple palindrome validator function.

     

Roman Numeral Converter

Sep 2023

JavaScript implementation of a function that converts a base-10 integer to its Roman numeral counterpart.

     

Caesars Cipher

Sep 2023

JavaScript implementation of the Caesar cipher substitution algorithm. Uses the common ROT13 variant.

     

Telephone Number Validator

Sep 2023

JavaScript implementation of an algorithm that validates US telephone numbers.

     

Cash Register

Sep 2023

JavaScript implementation of an algorithm that simulates making change at a cash register, making exact change when possible.