Skip to content

jmckible/lucifer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

lucifer

Lucifer is Rails plugin which utilizes the ezcrypto gem to encrypt/decrypt database columns transparently.

Why is it called Lucifer? en.wikipedia.org/wiki/Lucifer_(cipher)

Installation

./script/plugin install git://github.com/jmckible/lucifer.git

Lucifer looks for a key and salt in config/key.yml. See key.yml.example

Usage

Add Lucifer to a class like so:

class Person < ActiveRecord::Base
  # Database columns - id(integer), ssn_b(binary)
  encrypt_attributes
end

Lucifer will treat any binary column that ends in _b as encryptable.

person = Person.new :ssn=>'000-00-0000'
=> Person...
person.save
=> true
Person.first.ssn
=> '000-00-0000'

If you check out the database, you’ll see

> select * from people;
 ---------------------------------
| id         | ssn_b              |
 ----------------------------------
| 1          | U??6?7f%25(?????   |
 ---------------------------------

Configuration

You can customize Lucifer by passing options like so:

class Person < ActiveRecord::Base
  encrypt_attributes :suffix=>'_encrypted', :key_file=>'lucifer.yml'
end
  • :suffix - You can override the _b selector with this option

  • :key_file - If you’d like to use a different file in your config/ directory, pass the name here

Author

Releases

No releases published

Packages

No packages published

Languages