Sha256: 9e5763011d1b86337f5f6e6970e32ce9ca9608af898d83bedbe872b0f78fc1bf

Contents?: true

Size: 642 Bytes

Versions: 2

Compression:

Stored size: 642 Bytes

Contents

module Kabuki
  class Crypt
    def initialize(string, key = nil)
      @key = key||Digest::SHA1.hexdigest("yourpass")
      @string = string
    end
    
    def encode
      c = OpenSSL::Cipher::Cipher.new("aes-256-cbc")
      c.encrypt
      c.key = @key
      e = c.update(@string)
      e << c.final
      e
    end

    def decode
      c = OpenSSL::Cipher::Cipher.new("aes-256-cbc")
      c.decrypt
      c.key = @key
      d = c.update(@string)
      d << c.final
      d
    end
  end
end

class String
  def kabuki_encrypt
    Kabuki::Crypt.new(self).encode
  end
  
  def kabuki_decrypt
    Kabuki::Crypt.new(self).decode
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
kabuki-0.0.3 lib/kabuki/crypt.rb
kabuki-0.0.1 lib/kabuki/crypt.rb