Sha256: 43986c31bd4b88f000838bc2195dc5ba6a30f14168e9f814147465fbcd3ddad9

Contents?: true

Size: 1.46 KB

Versions: 2

Compression:

Stored size: 1.46 KB

Contents

# CryptKeeper

Provides transparent encryption for ActiveRecord. It is encryption agnostic. 
You can guard your data with any encryption algorithm you want. All you need
is a simple class that does 3 things.

1. Takes a hash argument for `initialize`
2. Provides an `encrypt` method that returns the encrypted string
3. Provides a `decrypt` method that returns the plaintext

Use can see an AES example here [here](https://github.com/jmazzi/crypt_keeper_providers/blob/master/lib/crypt_keeper_providers/aes.rb)

## Why?

The options available were either too complicated under the hood or had weird 
edge cases that made the library hard to use. I wanted to write something
simple that *just works*.

## Usage

```ruby

class MyModel < ActiveRecord::Base
  crypt_keeper :field, :other_field, encryptor: CryptKeeperProviders::Aes, 
    passphrase: 'super_good_password'
end

model = MyModel.new(field: 'sometext')
model.save! #=> Your data is now encrypted
model.field #=> 'sometext'

```

It works with all persistences methods: `update_attribute`, `update_attributes`,
and save.

## Installation

Add this line to your application's Gemfile:

    gem 'crypt_keeper'

And then execute:

    $ bundle

Or install it yourself as:

    $ gem install crypt_keeper


## Contributing

1. Fork it
2. Create your feature branch (`git checkout -b my-new-feature`)
3. Commit your changes (`git commit -am 'Add some feature'`)
4. Push to the branch (`git push origin my-new-feature`)
5. Create new Pull Request

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
crypt_keeper-0.0.3 README.md
crypt_keeper-0.0.2 README.md