O flutter permite armazenar dados no dispositivo em que o aplicativo está instalado, podendo esse dado ter diferentes finalidades, como mostrar ou não um pop-up promocional, salvar preferências (como tema a usar). Este artigo explicará a diferença entre dados simples e criptografados, além de apresentar os principais pacotes que podem ser usado para cada tipo.
Tipos de dados
Dados simples
Dados simples seriam dados que não necessitam de segurança ao armazenar, podendo ser texto simples, exemplo seriam preferências do usuário, visualização de determinado dado. Esses dados são facilmente acessados, como no android que é possível acessar ao rodar o app em modo debug.
Dados criptografados
Criptografia seria codificar o dado de forma humanamente ilegível, usando um algoritmo
Quando é usado dados sensíveis, é recomendado usar um armazenamento que criptografe os dados antes de salvar no dispositivo, de forma a manter o dado seguro, exemplo desse uso seriam informações do usuário. Para isso pode criptografar o dado e armazenar ou usar um pacote que faça isso, como o flutter_secure_storage.
Principais pacotes
SharedPreferences
O SharedPreferences permite o armazenado de dados de diferentes tipos primitivos sem criptografia, é um pacote recomendado pelo time do flutter. A instalação permite configurar propriedades durante sua implementação.
As operações com os dados é feita tanto de forma síncrona como assíncrona, a depender do construtor usado na configuração.
Um ponto de atenção é que não existe garantia de que o dado salvo será persistido, não sendo assim recomendado para dados críticos.
FlutterSecureStorage
O FlutterSecureStorage armazena os dados de forma segura, usando o keychain (iOS) e keyStore (android), assim os dados são salvos criptografados no dispositivo.
As operações com os dados é feita de forma assíncrona.
Considerações finais
Nesse artigo foi abordado o conceito de dados não sensíveis e criptografados, apresentando os pacotes SharedPreferences e FlutterSecureStorage` como alternativas para salvar os dados em dispositivos. Além desses pacotes, também existe a possibilidade de guardar dados mais complexos usando banco de dados, o qual a escolha vai depender das especificações do tipo e uso do dado.


Top comments (0)