A maior rede de estudos do Brasil

Grátis
6 pág.
PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS EM ANDROID

Pré-visualização | Página 2 de 2

pois em caso negativo, o aplicativo deverá usar um banco de dados embarcado que fica 
salvo e disponível apenas no dispositivo de cada usuário. A não identificação do usuário 
relativo a cada dado geraria inconsistência nos mesmos. 
 
 
 
 Questão 
Acerto: 
 
A conexão remota realizada em aplicativos escritos com o framework React Native 
através de bibliotecas como Fetch API, Axios, entre outras, implementa o padrão AJAX. 
Tal padrão caracteriza-se pelo uso do objeto XMLHttpRequest para se comunicar com os 
recursos disponíveis remotamente. Em relação a essa tecnologia, é correto afirmar: 
(Adaptado de: Ano: 2019 - Banca: Questões Inéditas - Prova: Questões Inéditas - SOE 
- Sem Órgão Específico - Carreiras TI - 2º Simulado) 
Em relação a essa tecnologia, podemos afirmar que 
 
 
Para verificar se a requisição foi realizada com sucesso, devemos observar se a 
propriedade 'status' do XMLHttpRequest possui o valor 'OK'. 
 
Pode enviar informações somente no formato XML. 
 
As requisições possuem natureza síncrona, refletindo automaticamente no 
aplicativo o estado do servidor de aplicação remoto. 
 Pode receber informações em uma variedade de formatos, incluindo JSON, XML 
e Texto puro. 
 
Para que seja possível a sua execução, a linguagem JavaScript (ou Typescript) 
deve ser utilizada tanto no front-end como no back-end. 
 
 
Explicação: 
No framework React Native está disponível, nativamente, um componente que permite a 
conexão com recursos remotos, o Fetch API. Neste é possível consumir e enviar dados 
utilizando os diferentes métodos HTTP (GET, POST etc) e em diferentes formatos: JSON, 
XML, texto puro. 
 
 
 
 Questão 
Acerto: 
 
Ao efetuar a persistência em banco de dados, pode ser necessário ocultar informações 
de determinados campos, com a possibilidade de recuperação posterior, ou seja, devem 
ser adotados algoritmos de criptografia simétrica, em que o AES tem sido a principal 
opção para as plataformas móveis mais populares. Tendo como base a biblioteca 
CryptoJS, como podemos utilizar o algoritmo AES no desenvolvimento com React 
Native? 
 
 
Basta invocar a classe Base64, pois os valores já são codificados no formato 
AES. 
 
Não é possível trabalhar com o algoritmo AES no React Native, pois a biblioteca 
CryptoJS não fornece um gestor apropriado para ele. 
 Devemos invocar o método encrypt, fornecendo o valor original, chave AES e 
IV, ou o método decrypt, com o valor criptografado, chave e IV, sempre por 
meio do módulo AES. 
 
Precisamos utilizar o método digestStringAsync, fornecendo chave AES e IV, 
tanto para a criptografia quanto para a recuperação da informação. 
 
É necessário instanciar um objeto do tipo Cipher, com a passagem do algoritmo 
AES, chave e IV, e utilizar os métodos encrypt e decrypt do objeto. 
 
 
Explicação: 
A biblioteca CryptoJS fornece os gestores de criptografia simétrica por meio de módulos, em 
que estão incluídos AES, DES, TripleDES, Rabbit e RC4, referindo-se aos algoritmos 
adotados por cada um. Qualquer que seja o gestor escolhido, os métodos encrypt e decrypt 
ficam disponíveis, respectivamente, para criptografia e recuperação da informação, sendo 
necessário fornecer a chave e o IV. 
 
 
 
 Questão 
Acerto: 
 
Entre os requisitos de segurança da plataforma Android, atualmente não é aceitável que 
o mesmo IV seja utilizado na geração sequencial de chaves. Ao utilizar a biblioteca 
CryptoJS, portada para React Native de sua verão NodeJS, qual comando seria utilizado 
para criar um IV formado por valores aleatórios? 
 
 
CryptoJS.lib.IV.createFrom(''randomBytes'') 
 
CryptoJS.IV.getVector(128) 
 
CryptoJS.lib.ByteArray.createIV([128,16]) 
 CryptoJS.lib.WordArray.random(16) 
 
CryptoJS.lib.generateIV(128/8) 
 
Explicação: 
Com o módulo lib, oferecido na biblioteca CryptoJS, temos diversas classes e métodos 
utilitários para as atividades acessórias de processos criptográficos, como geração de 
números aleatórios, que podem ser utilizados na construção do IV e do SALT. O método 
random, de WordArray, acessado no módulo lib de CryptoJS, retorna um vetor de números 
aleatórios de 32 bits (Word), com o tamanho sendo fornecido como parâmetro.