class Rack::Session::Encryptor

def encrypt(message)

def encrypt(message)
  version = "\1"
  serialized_payload = serialize_payload(message)
  message_secret, cipher_secret = new_message_and_cipher_secret
  cipher = new_cipher
  cipher.encrypt
  set_cipher_key(cipher, cipher_secret)
  cipher_iv = cipher.random_iv
  encrypted_data = cipher.update(serialized_payload) << cipher.final
  data = String.new
  data << version
  data << message_secret
  data << cipher_iv
  data << encrypted_data
  data << compute_signature(data)
  Base64.urlsafe_encode64(data)
end