require 'openssl' require 'base64' require 'digest/sha1' c = OpenSSL::Cipher::Cipher.new("aes-128-cbc") c.encrypt # your pass is what is used to encrypt/decrypt c.key = key = Digest::SHA1.hexdigest("whatever") # c.iv = iv = c.random_iv e = c.update("190") e << c.final puts "encrypted: #{Base64.encode64(e)}\n" c = OpenSSL::Cipher::Cipher.new("aes-128-cbc") c.decrypt c.key = key # c.iv = iv d = c.update(e) d << c.final puts "decrypted: #{d}\n"