WedX - журнал о программировании и компьютерных науках

Шифрование iOS и Java с использованием BasicTextEncryptor в jasypt

У меня есть проект Android, который использует BasicTextEncryptor для шифрования и расшифровки некоторой информации с сервера. Я внедряю версию для iOS и хотел бы знать, существует ли эквивалентная версия для iOS, в которой используется тот же метод шифрования/дешифрования?

Это структура шифрования для Java https://www.jasypt.org/api/jasypt/1.8/org/jasypt/util/text/BasicTextEncryptor.html

заранее спасибо

13.01.2014

Ответы:


1

Обратите внимание, что BasicTextEncryptor устарел. Он использует DES и MD5 для генерации пароля к ключу. Они не должны использоваться для новой работы. DES использует 56-битный ключ, который считается коротким, даже когда DES используется сегодня, он обычно используется в форме 3DES, которая обеспечивает 112- или 168-битные ключи.

Дополнительная проблема заключается в том, что для получения всей информации и параметров, используемых BasicTextEncryptor, потребуются существенные усилия.

Ваш лучший вариант — использовать современные криптографические методы и методы, которые четко отображают используемые параметры и методы, а именно: PBKDF2 и AES.

PBKDF2 — это метод создания безопасного ключа шифрования из пароля. PBKDF2 означает «Функция получения ключа на основе пароля 2», вам нужно будет знать количество использованных раундов. Это замена для использования MD5.

AES расшифровывается как «Advanced Encryption Standard» и поддерживает 128- и 256-битные ключи.
Для обеспечения совместимости вам необходимо знать следующие параметры:

  • Режим шифрования
  • IV (вектор инициализации)
  • Прокладка
  • Размер ключа

И PBKDF2, и AES поддерживаются iOS CommonCrypto.

13.01.2014
  • Спасибо за ваш комментарий, это было действительно полезно. На данный момент я не уверен, будет ли возможным редактирование проекта Android. Если выяснится, что мне придется придерживаться DES и MD5, можете ли вы сказать мне, будет ли это сложно или даже возможно написать для iOS? 13.01.2014
  • Конечно, вы можете это сделать, но, как я уже говорил, вам нужно точно выяснить, что делает BasicTextEncryptor. Просто покопайтесь в java-библиотеках. BasicTextEncryptor — это всего лишь обертка для основных криптографических операций. Большинство этих оболочек не предназначены для взаимодействия, если бы они явно указывали основные операции, параметры и опции. Что касается изменений, то реальный вопрос заключается в следующем: вы пытаетесь обеспечить реальную безопасность или просто видимость. 13.01.2014
  • Спасибо. Если бы это зависело от меня, я бы без вопросов выбрал более безопасный вариант. К сожалению, все, что я могу сделать, это дать свой совет и посмотреть, как все пойдет. Я также не очень хорошо разбираюсь в шифровании или криптографии, поэтому, возможно, я не очень хорошо излагаю ситуацию. Еще раз спасибо за советы. 13.01.2014
  • Новые материалы

    Как проанализировать работу вашего классификатора?
    Не всегда просто знать, какие показатели использовать С развитием глубокого обучения все больше и больше людей учатся обучать свой первый классификатор. Но как только вы закончите..

    Работа с цепями Маркова, часть 4 (Машинное обучение)
    Нелинейные цепи Маркова с агрегатором и их приложения (arXiv) Автор : Бар Лайт Аннотация: Изучаются свойства подкласса случайных процессов, называемых дискретными нелинейными цепями Маркова..

    Crazy Laravel Livewire упростил мне создание электронной коммерции (панель администратора и API) [Часть 3]
    Как вы сегодня, ребята? В этой части мы создадим CRUD для данных о продукте. Думаю, в этой части я не буду слишком много делиться теорией, но чаще буду делиться своим кодом. Потому что..

    Использование машинного обучения и Python для классификации 1000 сезонов новичков MLB Hitter
    Чему может научиться машина, глядя на сезоны новичков 1000 игроков MLB? Это то, что исследует это приложение. В этом процессе мы будем использовать неконтролируемое обучение, чтобы..

    Учебные заметки: создание моего первого пакета Node.js
    Это мои обучающие заметки, когда я научился создавать свой самый первый пакет Node.js, распространяемый через npm. Оглавление Глоссарий I. Новый пакет 1.1 советы по инициализации..

    Забудьте о Matplotlib: улучшите визуализацию данных с помощью умопомрачительных функций Seaborn!
    Примечание. Эта запись в блоге предполагает базовое знакомство с Python и концепциями анализа данных. Привет, энтузиасты данных! Добро пожаловать в мой блог, где я расскажу о невероятных..

    ИИ в аэрокосмической отрасли
    Каждый полет – это шаг вперед к великой мечте. Чтобы это происходило в их собственном темпе, необходима команда астронавтов для погони за космосом и команда технического обслуживания..


    Для любых предложений по сайту: [email protected]