class ActiveSupport::MessageEncryptor

def extract_parts(encrypted_message)

def extract_parts(encrypted_message)
  parts = []
  rindex = encrypted_message.length
  if aead_mode?
    parts << extract_part(encrypted_message, rindex, length_of_encoded_auth_tag)
    rindex -= SEPARATOR.length + length_of_encoded_auth_tag
  end
  parts << extract_part(encrypted_message, rindex, length_of_encoded_iv)
  rindex -= SEPARATOR.length + length_of_encoded_iv
  parts << encrypted_message[0, rindex]
  parts.reverse!.map! { |part| decode(part) }
end