С шифрованием AES
Шифрование — это, я думаю, самая важная тема в мобильной разработке для предотвращения реверс-инжиниринга, кражи конфиденциальных данных пользователя в настоящее время. Иногда его можно игнорировать из-за приоритетов разработки. Существует множество способов защиты конфиденциальных данных пользователя, таких как; сквозная защита с типом шифрования, закреплением SSL, игнорированием неизвестного незащищенного (HTTP) соединения и т. д.
В этом рассказе я объясню, как реализовать сквозную защиту на примере типа шифрования.
Предположим, что у нас есть одноразовый пароль для аутентификации в приложении, указав поставщика SMS. Мы выбираем шифрование AES, чтобы обеспечить двустороннее шифрование.
АЕС
Он известен как расширенный стандарт шифрования. Есть два параметра для использования AES — с именами key
, iv
(вектор инициализации). Размер ключа может быть 128/196/256 бит. Размер iv составляет 126 бит. В этом примере мы выбираем 256-битный ключ, 126-битный ключ iv. Давайте сгенерируем случайным образом два параметра как
Затем нам нужно импортировать стороннюю библиотеку с именем CryptoSwift
через менеджер зависимостей в наш существующий проект. Давайте воспользуемся диспетчером пакетов Swift.
Выберите проект и перейдите к параметрам Package Dependencies в проекте.
Нажмите кнопку +.
Скопируйте и вставьте приведенный ниже URL-адрес в строку поиска.
Настройте версию библиотеки.
"https://github.com/krzyzanowskim/CryptoSwift.git"
Нажмите кнопку Добавить пакет в нижней части окна.
Теперь давайте создадим файл расширения, чтобы определить как шифрование, так и дешифрование.
Шифрование
В методе файла расширения encryption
сначала нам нужно преобразовать данный код в данные, используя utf8, после чего с заданным ключом и параметром iv нам нужно использовать инициализацию AES с ключом, iv и параметром заполнения. . После этого приведите его к данным и преобразуйте в hexadecimalString
.
Расшифровка
Сначала получите данные от hexadecimalString
, чтобы использовать метод расшифровки AES. После этого инициализируйте его в новой строке с параметрами данных и кодирования.
С помощью этого расширения мы можем легко шифровать одноразовые пароли от провайдера SMS к веб-сервису.
Это все на данный момент. Мы видим, что шифрование конфиденциальных данных пользователя — это одноразовый пароль с шифрованием AES для отправки в веб-сервис.
Я написал стороннюю библиотеку для обработки пользовательских данных с шифрованием. Вы можете использовать или внести свой вклад.