All Projects → jD91mZM2 → rot26

jD91mZM2 / rot26

Licence: MIT license
Pure rust implementation of the rot26 algorithm

Programming Languages

rust
11053 projects
C++
36643 projects - #6 most used programming language

Projects that are alternatives of or similar to rot26

secretpy
Classical ciphers: Caesar, ADFGX, ROT13 and etc.
Stars: ✭ 40 (+66.67%)
Mutual labels:  rot13, caesar-cipher
cipher-crypt
A cryptographic tomb of ciphers forgotten by time.
Stars: ✭ 36 (+50%)
Mutual labels:  rot13, caesar-cipher
Javascript
A repository for All algorithms implemented in Javascript (for educational purposes only)
Stars: ✭ 16,117 (+67054.17%)
Mutual labels:  caesar-cipher
Computer-Security-algorithms
👨‍💻 Computer Security algorithms in C#
Stars: ✭ 48 (+100%)
Mutual labels:  caesar-cipher

rot26 Crates.io

ROT13 ("rotate by 13 places", sometimes hyphenated ROT-13) is a letter substitution cipher that replaces a letter with the letter 13 letters after it in the alphabet. Instead of only rotating 13 places, ROT26 rotates twice as many characters in the alphabet and is therefore twice as secure.

Pure rust rewrite of the rot26 algorithm.
Even maintains support for rot13 and any rot, with friendly helpful comments advising you to just stick to rot26.

ROT26 encryption & decryption is very complex and requires a powerful, purpose-built super-computer to perform all the calculations... which we have created. So, to encourage more developers to use ROT26 in their mobile, web and PC software applications we are offering a very easy to use and totally free ROT26 encryption and decryption REST web service.

This is no longer true.
That and all the following are features now possible thanks to Rust:

  • Complete unicode support. Disregards any non-alphabetical symbols! (was probably possible before actually)
  • Unit tests.

Speeeeeeeed

If being able to actually run this heavy algorithm on your computer isn't facinating enough, you can also use rayon for multithreading!
Simply use it with the rayon feature. But by default, rot26 is and forever will be* without dependencies.

* no promises

Examples

Simply call rot26::encrypt on any string. For example:

rot26::encrypt("hello") // returns "hello"

to decrypt, use rot26::decrypt

rot26::decrypt("hello") // returns "hello"

Support for C!

Because C is the mostly used language, we've spent more time porting this algorithm than it would take to rewrite it in C.
Now you can get Rust's awesome unicode support while still using C!
It's kind of like buying a new saddle for your dead horse!

Simply link it with target/release/librot26.a and include rot26.h!

Example:

const char* encrypted = rot26_encrypt("hello");
puts(encrypted);

rot26_free(encrypted);
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].