class ActiveSupport::MessageEncryptor

def _decrypt(encrypted_message)

def _decrypt(encrypted_message)
  cipher = new_cipher
  encrypted_data, iv = encrypted_message.split("--".freeze).map {|v| ::Base64.strict_decode64(v)}
  cipher.decrypt
  cipher.key = @secret
  cipher.iv  = iv
  decrypted_data = cipher.update(encrypted_data)
  decrypted_data << cipher.final
  @serializer.load(decrypted_data)
rescue OpenSSLCipherError, TypeError, ArgumentError
  raise InvalidMessage
end