group-telegram.com/artrblog/5
Last Update:
Шифрование в Android — это ад
Пару недель реализовывал шифрование кредов пользователя. В Android SDK много проблем, но такого я не ожидал:
- нет никаких гарантий успешности шифрования и дешифрования;
- инициализация и операции работают долго и могут приводить к ANR’ам;
- в документации и официальных библиотеках нет информации, как это побороть.
Ты можешь рассчитывать только на божью помощь. Из-за ошибок придется записывать секретные данные в fallback хранилище без шифрования, чтобы написать безопасную и оптимальную реализацию. Ещё один вариант — считать, что у тебя нет данных и чистить хранилище, а все операции выполнять строго на отдельном потоке.
Бонусом посмотрел, как шифруют в Telegram, Facebook, Tinkoff и Яндекс. Только у Яндеса нашел EncryptedSharedPreferences с названием auth.xml. Все остальные этого не делают. Пруфы в комментариях.
А вот шифрование в iOS работает безопасно, быстро и в одну строчку кода 🤡 Подробнее об этом с кодом и деталями скоро расскажу статье, которая выйдет на Habr совместно с VK.
А в номинации китаец кода побеждает Oppo, на котором операции работают дольше всего.
BY Engineering notes | Артур Илькаев
Share with your friend now:
group-telegram.com/artrblog/5