This repository is private.
All pages are served over SSL and all pushing and pulling is done over SSH.
No one may fork, clone, or view it unless they are added as a member.
Every repository with this icon (
) is private.
Every repository with this icon (
This repository is public.
Anyone may fork, clone, or view it.
Every repository with this icon (
) is public.
Every repository with this icon (
| name | age | message | |
|---|---|---|---|
| |
.gitignore | Fri Jul 04 15:49:24 -0700 2008 | |
| |
CHANGELOG.rdoc | Sun Jan 11 16:06:09 -0800 2009 | |
| |
LICENSE | Tue Apr 14 20:09:45 -0700 2009 | |
| |
README.rdoc | Sun Dec 14 17:54:25 -0800 2008 | |
| |
Rakefile | Tue Jun 09 20:31:48 -0700 2009 | |
| |
encrypted_strings.gemspec | Tue Jun 09 20:31:48 -0700 2009 | |
| |
init.rb | Wed Oct 25 18:19:47 -0700 2006 | |
| |
lib/ | Sun Jan 11 16:05:43 -0800 2009 | |
| |
test/ | Mon Dec 29 21:20:37 -0800 2008 |
README.rdoc
encrypted_strings
encrypted_strings provides dead-simple string encryption/decryption syntax.
Resources
API
Bugs
Development
Source
- git://github.com/pluginaweek/encrypted_strings.git
Description
Encrypting and decrypting data is not exactly the most straightforward and DRY way. encrypted_strings improves the syntax and reduces the complexity, adding straightforward support for encrypting values using SHA-1, Symmetric, and Asymmetric ciphers.
Usage
SHA Encryption
>> password = 'shhhh'
=> "shhhh"
>> encrypted_password = password.encrypt
=> "66c85d26dadde7e1db27e15a0776c921e27143bd"
>> encrypted_password.class
=> String
>> encrypted_password.cipher
=> #<EncryptedStrings::ShaCipher:0x2b9238889460 @salt="salt">
>> encrypted_password == 'shhhh'
=> true
>> encrypted_password.decrypt
NotImplementedError: Decryption is not supported using a(n) EncryptedStrings::ShaCipher
from ./script/../config/../config/../vendor/plugins/encrypted_strings/lib/encrypted_strings/cipher.rb:13:in `decrypt'
from ./script/../config/../config/../vendor/plugins/encrypted_strings/lib/encrypted_strings/extensions/string.rb:52:in `decrypt'
from (irb):40
When encrypt is called, it creates a cipher instance which is used for future encryption and decryption of the string. The default cipher uses SHA-1 encryption. For ciphers that do not support decryption, equality with other strings is tested by encrypting the other string and checking whether the resulting encrypted value is the same.
Symmetric Encryption
>> password = 'shhhh' => "shhhh" >> crypted_password = password.encrypt(:symmetric, :password => 'secret_key') => "qSg8vOo6QfU=\n" >> crypted_password.class => String >> crypted_password == 'shhhh' => true >> password = crypted_password.decrypt => "shhhh"
Asymmetric encryption
>> password = 'shhhh' => "shhhh" >> crypted_password = password.encrypt(:asymmetric, :public_key_file => './public.key', :private_key_file => './private.key') => "NEwVzcikYUKfS8HTc9L9eg/dMxBCLZ/nFr7J1aQYjkl3I2MPUD0lmjr/saC6\nTJEPwOl60Ki24H8TUwnGtZy14A==\n" >> crypted_password.class => String >> crypted_password == 'shhhh' => true >> password = crypted_password.decrypt => "shhhh"
Dependencies
None.
References
- Rick Olson - sentry







