email-vigenere

Easily Encode/Decode text with Vigenere Cipher


License
MIT
Install
gem install email-vigenere -v 0.0.5

Documentation

vigenere

This is a simple gem for encoding email addresses with a vigenere cipher in a way that can be decoded later.

It can create an email address that contains an encoded version of the from and to email addresses. Then it can also parse such an address to later retrieve the original from and to addresses.

The key tells how much to rotate each letter by, so the trivial key 'a' (or 'aaaa', etc.) will not rotate at all and the encoded version will match the original.

Encoding

Use the encode method to encode with the cipher.

VIGENERE::EmailCipher.new(key: 'foo').encode('hello')

Decoding

Use decode to decode an encoded string to get the original

VIGENERE::EmailCipher.new(key: 'foo').decode('mszqC')

Encoding a pair of email addresses

Use create_email_address to create an email address that contains the original 2 email addresses encoded with the vigenere cipher. It takes the from address, the to address, and the domain as arguments.

VIGENERE::EmailCipher.new(key: 'foo').create_email_address('test@example.com','test2@example.com','proxydomain.com')

This will generate ysGyoa7jLo5ADqsoiqCr_ysGya8o6sLfa6AuzsfrqtA@proxydomain.com

Getting the original pair of email addresses back

Then when we have an encoded email address like this, we can parse it for the original addresses with parse

VIGENERE::EmailCipher.new(key: 'foo').parse('ysGyoa7jLo5ADqsoiqCr_ysGya8o6sLfa6AuzsfrqtA@proxydomain.com')

This will return a hash like this: {:from=>"test@example.com", :to=>"test2@example.com"}