#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)