Cipher tools
A collection of tools for encrypting and decrypting data, using some commonly known ciphers.
Please note that these tools aren't optimized for large amounts of data, processing can slow down or run into problems once you reach above 150,000
characters. A cap of 1 million characters is currently in place.
Caesar cipher
A very simple method of encription, the Caesar cipher - also known as a shift cipher - 'shifts' the alphabet a certain number of spaces, pushing the letters at the end to the beginning.
The most common Caeser cipher is Rot 13, where
A
becomes
N
and so forth. You can optionally add a key to the cipher to further encrypt your results, this will create a custom alphabet to rotate through –
see the Substiution Cipher below for more information.
There is more information available on the Caesar_cipher Wikipedia page.
Substitution cipher
A substitution cipher uses a key or a phrease to make a new alphabet, with the end result potentially being a completely jumbled up alphabet.
A quick example substitution:
SENTENCE
→
TEST
→
QBLRBLSB
- The full alphabet would look like
TESABCDFGHIJKLMNOPQRUVWXYZ
– notice that T, E and S have moved to the start, the second T in TEST isn't present again as it has already been used and placed.
Mixed case strings and keys are supported here, for example:
SENTence
→
TEST
→
QBLRblsb
or
SENTence
→
TEst
→
PAKQaksa
– There is more information available on the Substitution cipher Wikipedia page.
Vigenère cipher
One of the most well known cipher methods. Each letter of the message is shifted by a corresponding character of the key, running out of characters in the key will loop back to the beginning. For example: SENTENCE
encrypted with a key of TEST
would shift like:
S → T → L
E → E → I
N → S → F
T → T → M
- for the next letters, the key would loop back and start from the first T in TEST again. There is more information available on the Vigenère cipher Wikipedia page.
Hash
Generate various hash values for a given text string. More information about hashes and the libraries used here, can be found on the CryptoJS Gitbook documentation site.