|
Алгоритмы шифрования. PBKDF2WithHmacSHA256 и AES/CBC/PKCS5PADDING. Поиск инструмента.
|
|||
---|---|---|---|
#18+
Добрый день! Поставлена такая задача. Для работы с внешним API нужно научиться генерировать Ключ для шифрования по алгоритму PBKDF2WithHmacSHA256 с использованием мастер-ключа и соли. Параметры ключа: длина - 256 бит, кол-во итераций - 65536. Нашла инструмент, который вроде бы умеет это делать https://8gwifi.org/pbkdf.jsp - но вот незадача - кол-во итераций поддерживается не более 49999. С помощью Java удалось научиться генерировать Ключ с кол-вом итераций 49999, чтобы он совпадал с ключом, сгенерированным данным сайтом. Далее нужно расшифровать сообщение, которое зашифровано алгоритмом AES/CBC/PKCS5Padding на основе сформированного ключа и заранее определенного вектора инициализации (IV). Тоже получилось найти сайт, который умеет этот делать: https://www.javainuse.com/aesgenerator, а также получилось делать это на Java, чтобы результаты совпадали с данными этого сайта. Но вот никак не получается расшифровать сообщение с сайта, которое приходит по API. Хотя вроде бы всё делаю правильно. Собственно вопрос - какие есть онлайн сервисы или утилиты под Windows (OpenSSL не предлагать, нужна утилита с графическим интерфейсом), которые умеют генерировать ключ по алгоритму PBKDF2WithHmacSHA256 с использованием мастер-ключа и соли, а также шифровать/дешифровать сообщения этим 256-битным ключом с заданным вектором инициализации по алгоритму AES/CBC/PKCS5Padding? Неделю уже рою и ничего не получается. Непонятно - я в чём-то косячу (со своим кодом на Java) или почему не расшифровываются сообщения. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.01.2022, 20:11 |
|
Алгоритмы шифрования. PBKDF2WithHmacSHA256 и AES/CBC/PKCS5PADDING. Поиск инструмента.
|
|||
---|---|---|---|
#18+
Само существование таких сайтов вызывает подозрение. Лучше исходник смотреть. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.01.2022, 22:07 |
|
Алгоритмы шифрования. PBKDF2WithHmacSHA256 и AES/CBC/PKCS5PADDING. Поиск инструмента.
|
|||
---|---|---|---|
#18+
Наталья87 OpenSSL не предлагать, нужна утилита с графическим интерфейсом чем командная строка не угодила? ну заверните в ProcessBuilder ... |
|||
:
Нравится:
Не нравится:
|
|||
14.01.2022, 11:42 |
|
Алгоритмы шифрования. PBKDF2WithHmacSHA256 и AES/CBC/PKCS5PADDING. Поиск инструмента.
|
|||
---|---|---|---|
#18+
Изопропил Наталья87 OpenSSL не предлагать, нужна утилита с графическим интерфейсом чем командная строка не угодила? ну заверните в ProcessBuilder Тем что непонятно - как проверить на каком этапе я косячу. Сообщения не расшифровываются. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.01.2022, 14:50 |
|
Алгоритмы шифрования. PBKDF2WithHmacSHA256 и AES/CBC/PKCS5PADDING. Поиск инструмента.
|
|||
---|---|---|---|
#18+
mayton Само существование таких сайтов вызывает подозрение. Лучше исходник смотреть. Для меня эти исходники с алгоритмами шифрованиями на Java - тёмный лес. Хотя сам язык Java понимаю. Тёмный лес потому что 100500 вариантов этих исходников по всей Сети, 90% нерабочие, остальные выдают разные результаты на одних и тех же входных данных. Потому и хотелось бы утилиту для Windows или сайт в качестве эталона. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.01.2022, 14:52 |
|
Алгоритмы шифрования. PBKDF2WithHmacSHA256 и AES/CBC/PKCS5PADDING. Поиск инструмента.
|
|||
---|---|---|---|
#18+
Наталья87 mayton Само существование таких сайтов вызывает подозрение. Лучше исходник смотреть. Для меня эти исходники с алгоритмами шифрованиями на Java - тёмный лес. Хотя сам язык Java понимаю. Тёмный лес потому что 100500 вариантов этих исходников по всей Сети, 90% нерабочие, остальные выдают разные результаты на одних и тех же входных данных. Потому и хотелось бы утилиту для Windows или сайт в качестве эталона. Алгоритмы шифрования работают одинаково если точно известно их название и параметры. Алгоритмы обычно опен-сорцные и описаны в книгах (например Брюса Шнайера). Типичная ошибка новичка - это непонимание того что текст (открытый текст) представленный в виде букв на экране имеет не всегда однозначное отображение в байты (биты). И эта тема обходится стороной криптографией. Это тема не криптографическая а утилитарная. Например для русского языка я знаю минимум четыре способоа (UTF-8, windows-1251, UTF-16, cp866) как получить из текста байты. Кроме вопроса байтов есть еще PADDING - это выравнивание хвостика байтовой последовательности на границу кратную блоку. Этот вопрос тоже важен. И для пэддинга есть разные подходы. Соль и вектор инициализации - это тоже некие дефолтные предустановки которые могут изменять поведение шифро-алгоритма при том что его название будет неизменно (например AES-128). Всё это просто приводит к тому что учебные сайты которые якобы конвертят текст в браузере в ключ или хеш работают корректно только в своём базисе координат. Тоесть они кодируют и декодируют правильно но они могут не правильно декодировать то что вы кодировали в Java code и наоборот. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.01.2022, 18:57 |
|
Алгоритмы шифрования. PBKDF2WithHmacSHA256 и AES/CBC/PKCS5PADDING. Поиск инструмента.
|
|||
---|---|---|---|
#18+
mayton Соль и вектор инициализации - это тоже некие дефолтные предустановки которые могут изменять поведение шифро-алгоритма при том что его название будет неизменно (например AES-128). Плохой пример, поскольку как раз AES-128 не использует ни то ни другое. Вектор инициализации используется в AES128-CBC и т.п., но, как очевидно, это меняет его название. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2022, 14:52 |
|
|
start [/forum/topic.php?fid=16&msg=40126529&tid=1339592]: |
0ms |
get settings: |
19ms |
get forum list: |
8ms |
check forum access: |
1ms |
check topic access: |
1ms |
track hit: |
48ms |
get topic data: |
6ms |
get forum data: |
1ms |
get page messages: |
303ms |
get tp. blocked users: |
1ms |
others: | 3610ms |
total: | 3998ms |
0 / 0 |