Как сохранить зашифрованный тип в flutter sharedprefrence

#flutter #encryption #sharedpreferences

#flutter #шифрование #sharedpreferences

Вопрос:

Я разрабатываю приложение в flutter, и я успешно зашифровал строку с помощью encrypt. теперь я хочу сохранить эти зашифрованные данные в sharedpreference, чтобы я мог получить их позже и расшифровать перед использованием. Я попробовал setString(), он не работает, поскольку кажется, что «Зашифрованный» — это сам тип, поэтому не будет работать со строками. Есть ли какие-либо обходные пути.

это мой код

 Encrypted runEncrypt( String caption) {
    final key = Key.fromUtf8('u^Hrf64hFrM08HuytDeMK7654DgJlP');
    final iv = IV.fromLength(16);

    final encryptPro = Encrypter(AES(key));

    final encrypted = encryptPro.encrypt(caption, iv: iv);

    return encrypted;
  }

/////
Encrypted keyz=runEncrypt('this is the key');
pref.setString("key",keyz);
  

Комментарии:

1. Не могли бы вы поделиться примером кода, чтобы мы могли протестировать его и найти решение.

2. @TesteurManiak я добавил свой код

Ответ №1:

Вы могли бы использовать base64 свойство вашего зашифрованного объекта, которое он возвращает String . В исходном коде пакета говорится, что он возвращает Encrypted в виде строкового представления Base64.

 pref.setString("key", keyz.base64);
  

используйте ту же кодировку при расшифровке

 Encrypter.decrypt64(valueFromSharedPref)