Sha256: 4a43761430220b2e905937104f694de350f8a1bee59a2ed8e36d5374e24f2a85

Contents?: true

Size: 766 Bytes

Versions: 24

Compression:

Stored size: 766 Bytes

Contents

require 'base64'
require 'digest'
require 'openssl'

module AESCrypt
  def AESCrypt.encrypt(password, iv, cleardata)
    cipher = OpenSSL::Cipher.new('AES-256-CBC')
    cipher.encrypt  # set cipher to be encryption mode
    cipher.key = password
    cipher.iv  = iv
    encrypted = ''
    encrypted << cipher.update(cleardata)
    encrypted << cipher.final
    AESCrypt.b64enc(encrypted)
  end

  def AESCrypt.decrypt(password, iv, secretdata)
    secretdata = Base64::decode64(secretdata)
    decipher = OpenSSL::Cipher::Cipher.new('aes-256-cbc')
    decipher.decrypt
    decipher.key = password
    decipher.iv = iv if iv != nil
    decipher.update(secretdata) + decipher.final
  end

  def AESCrypt.b64enc(data)
    Base64.encode64(data).gsub(/\n/, '')
  end

end

Version data entries

24 entries across 24 versions & 1 rubygems

Version Path
onboardbase-1.2.3 lib/AES.rb
onboardbase-1.2.2 lib/AES.rb
onboardbase-1.2.1 lib/AES.rb
onboardbase-1.2.0 lib/AES.rb
onboardbase-1.1.9 lib/AES.rb
onboardbase-1.1.8 lib/AES.rb
onboardbase-1.1.7 lib/AES.rb
onboardbase-1.1.6 lib/AES.rb
onboardbase-1.1.5 lib/AES.rb
onboardbase-1.1.4 lib/AES.rb
onboardbase-1.1.3 lib/AES.rb
onboardbase-1.1.2 lib/AES.rb
onboardbase-1.1.1 lib/AES.rb
onboardbase-1.1.0 lib/AES.rb
onboardbase-1.0.9 lib/AES.rb
onboardbase-1.0.8 lib/AES.rb
onboardbase-1.0.7 lib/AES.rb
onboardbase-1.0.6 lib/AES.rb
onboardbase-1.0.5 lib/AES.rb
onboardbase-1.0.4 lib/AES.rb