|
|
|
Аналог openssl_encrypt из PHP
|
|||
|---|---|---|---|
|
#18+
с некой стороны от меня хотят нечто такое Код: php 1. но в жаве чистый AES накладывает ограничение на длину ключа (хорошо, до 16 символов довели) и вектор как же там в этом пхп происходит шифровка и дешифровка без этих вещей??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2017, 12:25 |
|
||
|
Аналог openssl_encrypt из PHP
|
|||
|---|---|---|---|
|
#18+
при попытке Код: java 1. получаю oracle-glassfish3.1.2|javax.enterprise.system.std.com.sun.enterprise.server.logging|_ThreadID=95;_ThreadName=Thread-2;|java.security.InvalidKeyException: Parameters missing ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2017, 12:33 |
|
||
|
Аналог openssl_encrypt из PHP
|
|||
|---|---|---|---|
|
#18+
wolverin Код: php 1. но в жаве чистый AES накладывает ограничение на длину ключа (хорошо, до 16 символов довели) и вектор Эээ. 256 это разве не длина ключа? Кто такой "чистый AES в жаве? wolverinкак же там в этом пхп происходит шифровка и дешифровка без этих вещей??? Каких вещей? Рекомендую посмотреть на библиотеки BouncyCastle - умеет всё. jasypt - простой API для тех кому сложно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2017, 12:43 |
|
||
|
Аналог openssl_encrypt из PHP
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, ну т.е. чистый - инициализация соли, вектора, догонка длины ключа до алгоритма, словом тот что Cipher.getInstance("AES/CTR/NoPadding") ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2017, 12:49 |
|
||
|
Аналог openssl_encrypt из PHP
|
|||
|---|---|---|---|
|
#18+
BlazkowiczBouncyCastle - умеет всё. jasypt - простой API для тех кому сложно. да хотелось бы штатными средствами обойтись, нужно то вроде простую вещь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2017, 12:52 |
|
||
|
Аналог openssl_encrypt из PHP
|
|||
|---|---|---|---|
|
#18+
я делал на С++ для PHP, но там использовал mcrypt, в котором все это есть, а как эта функция шифрует не пойму. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2017, 12:53 |
|
||
|
Аналог openssl_encrypt из PHP
|
|||
|---|---|---|---|
|
#18+
wolverinда хотелось бы штатными средствами обойтись, нужно то вроде простую вещь Так это. Код мы сегодня увидим или дальше на пальцах обсудим? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2017, 13:01 |
|
||
|
Аналог openssl_encrypt из PHP
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, дак код на пхп я привел, а какой нужен в жава я не знаю ) Код: java 1. 2. 3. 4. 5. 6. что то шифрует, но выдает не то что openssl_encrypt ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2017, 13:07 |
|
||
|
Аналог openssl_encrypt из PHP
|
|||
|---|---|---|---|
|
#18+
wolverin, Уберите русский текст из теста и покажите что у вас выдаёт PHP. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2017, 13:16 |
|
||
|
Аналог openssl_encrypt из PHP
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, у меня нету пхп, ответ его я получаю снаружи, но даже мой текст без указания вектора каждый раз выдает разный шифрованный текст ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2017, 13:27 |
|
||
|
Аналог openssl_encrypt из PHP
|
|||
|---|---|---|---|
|
#18+
авторчто то шифрует, но выдает не то что openssl_encrypt Как понять "не то"? Не в том формате? Результат для одних и тех же входных данных всегда будет разный и это нормально. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2017, 13:32 |
|
||
|
Аналог openssl_encrypt из PHP
|
|||
|---|---|---|---|
|
#18+
wolverinString encryptedString = new String(ciphered); Это не валидное преобразование. Не любой набор байт это текст в текущей кодировке . Ещё поди угадай какая она у вас. На сколько я понял из доки openssl_encrypt вообще-то в Base64 заворачивает результат. У вас этого нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2017, 13:35 |
|
||
|
Аналог openssl_encrypt из PHP
|
|||
|---|---|---|---|
|
#18+
Hett, вводные данные одинаковые, а шифрованный текст получается разный, так я проверяю получится ли на той стороне дешифровать, естественно пробовал и передавать свой шифрованный и там не дешифрует. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2017, 13:36 |
|
||
|
Аналог openssl_encrypt из PHP
|
|||
|---|---|---|---|
|
#18+
В PHP он вообще похоже что в base64 выдает результат. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2017, 13:36 |
|
||
|
Аналог openssl_encrypt из PHP
|
|||
|---|---|---|---|
|
#18+
wolverinу меня нету пхп, ответ его я получаю снаружи, но даже мой текст без указания вектора каждый раз выдает разный шифрованный текст Ну, то есть вам помощь не нужна, вы поплакаться здесь. Если нужна помощь - напишите внятный тест: "Такие-то входные данные. Такие-то нужны на выходе. Вот код. Вот что он возвращает." ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2017, 13:36 |
|
||
|
Аналог openssl_encrypt из PHP
|
|||
|---|---|---|---|
|
#18+
wolverin, Пока что выяснилось 3 момента. 1. Учитывайте кодировки. Компиляция Unicode текста, методы getBytes(), new String() - используют текущую кодировку. Вы не знаете совпадает ли она с той что используется пыхой. Нужно выяснить и указывать кодировку явно, если вам ASCII диапазона не достаточно. 2. По-умолчанию в PHP iv - пустая строка. Скорее всего ни на что не повлияет, но я пока не уверен. 3. PHP по-умолчанию возвращает Base64, сырые данные возвращаются только специальными опциями. Приведите в порядок хотя бы пункты 1 и 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2017, 13:40 |
|
||
|
Аналог openssl_encrypt из PHP
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, так а как пароли тут выложить чужие? спасибо, если речь за базе64, то я пробовал и с ним вместо последней строки Код: java 1. однако шифрованный текст тоже каждый раз разный с другой стороны не пришло в голову, потому как они мне присылают пример свой в котором Код: php 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2017, 13:40 |
|
||
|
Аналог openssl_encrypt из PHP
|
|||
|---|---|---|---|
|
#18+
wolverinкак же там в этом пхп происходит шифровка и дешифровка без этих вещей??? Есть несколько путей получения требуемого для AES размера ключа: например, дополнение или хэширование пароля. Какой именно используется в PHP - спрашивайте в разделе PHP. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2017, 13:42 |
|
||
|
Аналог openssl_encrypt из PHP
|
|||
|---|---|---|---|
|
#18+
wolverin, кодировка у меня утф8, пробовал и аскии, видимо все таки придется сделать их пример чтобы убедиться какой они получают кодированный текст ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2017, 13:42 |
|
||
|
Аналог openssl_encrypt из PHP
|
|||
|---|---|---|---|
|
#18+
Если вектор разный каждый раз, то и результат будет разный. Я не вижу, чтобы вы вектор вообще указывали. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2017, 13:43 |
|
||
|
Аналог openssl_encrypt из PHP
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, думаете они там знают!? мне кажется кто пытался на жаве это хэшировать вероятнее знать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2017, 13:43 |
|
||
|
Аналог openssl_encrypt из PHP
|
|||
|---|---|---|---|
|
#18+
wolverinтак а как пароли тут выложить чужие? У вас тестового сервера нет? Сразу на продакшне тестируете? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2017, 13:43 |
|
||
|
Аналог openssl_encrypt из PHP
|
|||
|---|---|---|---|
|
#18+
Hett, так я и говорю - вектор в пхп не указывается, и я его опустил и естественно получаю разные результат ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2017, 13:44 |
|
||
|
Аналог openssl_encrypt из PHP
|
|||
|---|---|---|---|
|
#18+
wolverinкодировка у меня утф8, пробовал и аскии, Они не взаимозаменяемы. Либо вам нужен unicode, либо нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2017, 13:44 |
|
||
|
Аналог openssl_encrypt из PHP
|
|||
|---|---|---|---|
|
#18+
BlazkowiczУ вас тестового сервера нет? Сразу на продакшне тестируете? я уже результат имею ширования в пхп, вот и пытаюсь получить то же самое. хорошо, сейчас попробую их пример - получаю ли те же данные что и они. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2017, 13:46 |
|
||
|
Аналог openssl_encrypt из PHP
|
|||
|---|---|---|---|
|
#18+
Blazkowicz2. По-умолчанию в PHP iv - пустая строка. Скорее всего ни на что не повлияет, но я пока не уверен. Всё. Понял. Я тупой. Надо найти дефолтное значение? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2017, 13:48 |
|
||
|
Аналог openssl_encrypt из PHP
|
|||
|---|---|---|---|
|
#18+
BlazkowiczНадо найти дефолтное значение? да ( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2017, 13:51 |
|
||
|
Аналог openssl_encrypt из PHP
|
|||
|---|---|---|---|
|
#18+
как дополняется пароль до длины и какой вектор используется чтоб все тоже самое в жаве сделать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2017, 13:52 |
|
||
|
Аналог openssl_encrypt из PHP
|
|||
|---|---|---|---|
|
#18+
Фу блин. IV это же типа соли. Рандомная примесь. Вот оно и будет всегда разным. Даже на PHP. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2017, 13:53 |
|
||
|
Аналог openssl_encrypt из PHP
|
|||
|---|---|---|---|
|
#18+
wolverinкак дополняется пароль до длины и какой вектор используется чтоб все тоже самое в жаве сделать Может всё же не парится и взять готовое? http://juliusdavies.ca/commons-ssl/javadocs/org/apache/commons/ssl/OpenSSL.html ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2017, 13:56 |
|
||
|
Аналог openssl_encrypt из PHP
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, нет, сейчас проверил, openssl_encrypt($data,'AES-256-CTR', $key) всегда выводит одно и то же ссылку изучаю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2017, 13:58 |
|
||
|
Аналог openssl_encrypt из PHP
|
|||
|---|---|---|---|
|
#18+
Потому что там вектор всегда один и тот же - пустой. Новые версии пхп вообще ошибку генерируют. Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2017, 14:04 |
|
||
|
Аналог openssl_encrypt из PHP
|
|||
|---|---|---|---|
|
#18+
Посолить надо. Что-б пароль не протух. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2017, 14:06 |
|
||
|
Аналог openssl_encrypt из PHP
|
|||
|---|---|---|---|
|
#18+
HettПотому что там вектор всегда один и тот же - пустой. Новые версии пхп вообще ошибку генерируют. Код: plaintext пустой это какой? нулл, пустая строка или что? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2017, 14:08 |
|
||
|
Аналог openssl_encrypt из PHP
|
|||
|---|---|---|---|
|
#18+
Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2017, 14:09 |
|
||
|
Аналог openssl_encrypt из PHP
|
|||
|---|---|---|---|
|
#18+
wolverinнет, сейчас проверил, openssl_encrypt($data,'AES-256-CTR', $key) всегда выводит одно и то же ссылку изучаю. Ну, можно, конечно и так попробовать. IvParameterSpec iv = new IvParameterSpec(new byte[16]); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2017, 14:11 |
|
||
|
Аналог openssl_encrypt из PHP
|
|||
|---|---|---|---|
|
#18+
А вот тут можно поизучать код по поводу поведения по-умолчанию. https://github.com/php/php-src/blob/master/ext/openssl/openssl.c ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2017, 14:17 |
|
||
|
Аналог openssl_encrypt из PHP
|
|||
|---|---|---|---|
|
#18+
wolverinнет, сейчас проверил, openssl_encrypt($data,'AES-256-CTR', $key) всегда выводит одно и то же Стремление сделать что было так же - не понятно, особенно, если учесть что IV на расшифровку влиять не должен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2017, 14:19 |
|
||
|
Аналог openssl_encrypt из PHP
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, почему это не должен? для дешифровки же соль тоже передается вместе с ключом ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2017, 14:20 |
|
||
|
Аналог openssl_encrypt из PHP
|
|||
|---|---|---|---|
|
#18+
Вектор передается вместе с шифрованными данными. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2017, 14:25 |
|
||
|
Аналог openssl_encrypt из PHP
|
|||
|---|---|---|---|
|
#18+
wolverinпочему это не должен? для дешифровки же соль тоже передается вместе с ключом Да. Должен. Я снова ошибся. Но вот передаваться он не должен. Иначе он был бы ключом. wikipediaThis is because the IV need not be explicitly forwarded to a recipient but may be derived from a common state updated at both sender and receiver side. (In practice, a short nonce is still transmitted along with the message to consider message loss.) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2017, 14:29 |
|
||
|
Аналог openssl_encrypt из PHP
|
|||
|---|---|---|---|
|
#18+
HettВектор передается вместе с шифрованными данными. Спасибо. Как я понял OpenSSL вычисляет IV из ключа каким-то своим алгоритмом. Это ещё больше подтверждает надобность изспольховать openssl напрямую или какую-нибудь совместимую реализацию. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2017, 14:32 |
|
||
|
Аналог openssl_encrypt из PHP
|
|||
|---|---|---|---|
|
#18+
wolverin, Походу нет смысла самому писать: https://www.openssl.org/docs/man1.0.2/crypto/EVP_BytesToKey.html Потому что там не просто шифрование, а ещё и openssl отсебятина. Поэтому либо вызывайте openssl напрямую, через ProcessBuilder или JNA. Либо попробуйте Java реализацию. Либо вот ещё готовый пример нашелся для EVP_BytesToKey https://stackoverflow.com/a/11786924 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2017, 14:37 |
|
||
|
Аналог openssl_encrypt из PHP
|
|||
|---|---|---|---|
|
#18+
BlazkowiczHettВектор передается вместе с шифрованными данными. Спасибо. Как я понял OpenSSL вычисляет IV из ключа каким-то своим алгоритмом. Это ещё больше подтверждает надобность изспольховать openssl напрямую или какую-нибудь совместимую реализацию. Я-бы сказал что это не выдерживает критики. Вместо неправды мы получили сложную полу-правду которую надо долго доказывать. Я думаю что Шнайер, Циммерман, Диффи и Хелман топают ногами и изрыгают проклятия читая описание API. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2017, 14:40 |
|
||
|
Аналог openssl_encrypt из PHP
|
|||
|---|---|---|---|
|
#18+
BlazkowiczНу, можно, конечно и так попробовать. IvParameterSpec iv = new IvParameterSpec(new byte[16]); не прокатывает, видимо собака в чем то другом зарыта ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2017, 08:21 |
|
||
|
Аналог openssl_encrypt из PHP
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, думаю он не поможет, я попробовал в баше Код: powershell 1. каждый раз получаю разный ответ U2FsdGVkX1+unQA7NKNfmutrBOTNtew/Bo/Cx4cC1BIRoYoM U2FsdGVkX1+MugZywpgJTz80opmjRPwFMHvK8vUg4pAaBvYX U2FsdGVkX19iFwoYVDkSYf7gilOkEV2jyJir3AQKsHD3fZjW однако обратный вариант ото всех шифровок будет Код: powershell 1. qwertyuiopasdfghjkl ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2017, 10:03 |
|
||
|
Аналог openssl_encrypt из PHP
|
|||
|---|---|---|---|
|
#18+
wolverin, Возможно он соль динамически генерит? Если есть задача 100% идентичности, то можно выдрать openssl реализацию из PHP соответствующей версии. Или даже с PHP интегрироваться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2017, 10:22 |
|
||
|
Аналог openssl_encrypt из PHP
|
|||
|---|---|---|---|
|
#18+
Если использовать ключ (K) и вектор инициализации (IV) явно .. то процесс генерации рандомной соли подавляется. Код: sql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2017, 10:39 |
|
||
|
Аналог openssl_encrypt из PHP
|
|||
|---|---|---|---|
|
#18+
вектор не может быть статическим, конечно он генерится рандомно и включается в результат, благодаря чему по тому же ключу можно расшифровать без каких-то дополнительных данных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2017, 10:40 |
|
||
|
Аналог openssl_encrypt из PHP
|
|||
|---|---|---|---|
|
#18+
wolverin, надо ещё версии openssl посмотреть. Может если найти старую той же что у вас в пыхе, то будет нужное поведение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2017, 10:42 |
|
||
|
Аналог openssl_encrypt из PHP
|
|||
|---|---|---|---|
|
#18+
Hettвектор не может быть статическим Вы перепутали "может" и "должен". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2017, 10:43 |
|
||
|
Аналог openssl_encrypt из PHP
|
|||
|---|---|---|---|
|
#18+
BlazkowiczHettвектор не может быть статическим Вы перепутали "может" и "должен". Имею в виду, что не может быть такого, что в openssl он статический. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2017, 10:47 |
|
||
|
Аналог openssl_encrypt из PHP
|
|||
|---|---|---|---|
|
#18+
HettИмею в виду, что не может быть такого, что в openssl он статический. Он вычисляется из ключа, когда не указан. Откуда ему ещё взяться, если его явно нет, а он нужен для расшифровки? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2017, 10:49 |
|
||
|
Аналог openssl_encrypt из PHP
|
|||
|---|---|---|---|
|
#18+
Блин запутано все. Шнайер в своей книжке пишет что IV вобщем-то передается открыто первым блоком. Он не особо секретен но его задача - сделать уникальным и секретным следующий блок - хедер сообщений (которые имеют регулярную природу). В качестве IV он предлагает счетчик или number-used-once (nonce). Тоесть основное требование - уникальность по отношению к последовательности шифро-сообщений в системе. Фергюсон. Шнайер - Практическая криптография - 5.3 Сцепление шифрованных блоков (CBC) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2017, 10:56 |
|
||
|
Аналог openssl_encrypt из PHP
|
|||
|---|---|---|---|
|
#18+
maytonБлин запутано все. Шнайер в своей книжке пишет что IV вобщем-то передается открыто первым блоком. Он не особо секретен но его задача - сделать уникальным и секретным следующий блок - хедер сообщений (которые имеют регулярную природу). Это всё теория. Вопрос о практике и конкретной реализации. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2017, 11:09 |
|
||
|
Аналог openssl_encrypt из PHP
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, ты имеешь в виду первый вопрос автора? но в жаве чистый AES накладывает ограничение на длину ключа (хорошо, до 16 символов довели) и вектор как же там в этом пхп происходит шифровка и дешифровка без этих вещей??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2017, 11:18 |
|
||
|
Аналог openssl_encrypt из PHP
|
|||
|---|---|---|---|
|
#18+
с вектором тоже проблема, явно указывая его в openssl_encrypt добиться такого же ответа не могу похоже надо все таки на mcrypt давить чтобы переходили с той стороны, там хоть поведение идентично ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2017, 11:21 |
|
||
|
Аналог openssl_encrypt из PHP
|
|||
|---|---|---|---|
|
#18+
BlazkowiczОн вычисляется из ключа, когда не указан. Откуда такая информация? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2017, 11:28 |
|
||
|
Аналог openssl_encrypt из PHP
|
|||
|---|---|---|---|
|
#18+
HettОткуда такая информация? https://wiki.openssl.org/index.php/Enc -iv IV This specifies the initialization vector IV as hexadecimal number. If not explicitly given it will be derived from the password . See key derivation for details. https://wiki.openssl.org/index.php/Manual:EVP_BytesToKey(3) https://stackoverflow.com/questions/11783062/how-to-decrypt-file-in-java-encrypted-with-openssl-command-using-aes ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2017, 11:31 |
|
||
|
Аналог openssl_encrypt из PHP
|
|||
|---|---|---|---|
|
#18+
wolverin , а какая версия PHP у тебя? (я щас смотрю в какой-то API и пытаюсь понять подходит он тебе или нет). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2017, 11:42 |
|
||
|
Аналог openssl_encrypt из PHP
|
|||
|---|---|---|---|
|
#18+
mayton, тоже в него смотрю уже, хотя бы с башем добиться совпадения для понимания, там есть пример в комментариях PHP 5.4.45-0+deb7u9 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2017, 11:47 |
|
||
|
Аналог openssl_encrypt из PHP
|
|||
|---|---|---|---|
|
#18+
wolverin, смотри мой поинт в том чтобы сильно глубоко не копать в принципы криптографии (все равно не разберемся в рамках топика). Но хотябы забить все дефолтные параметры openssl_encrypt(..) в Java и в PHP явными значениями (названия шифров и методы сцепления блоков и длины ключей). И открытые вопросы: 1) Что менять можно а что нельзя? Java или PHP? Можно ли вообще поменять метод шифрования и насколько? 2) У тебя есть возможность запускать PHP в консоли? Как тут http://php.net/manual/ru/features.commandline.php ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2017, 12:08 |
|
||
|
Аналог openssl_encrypt из PHP
|
|||
|---|---|---|---|
|
#18+
maytonwolverin, смотри мой поинт в том чтобы сильно глубоко не копать в принципы криптографии (все равно не разберемся в рамках топика). Во-первых уже разобрались. Во-вторых, поставить рядом ту же версию пыхи и вызывать любым удобным интеропом. Производительность страдает, но нужна ли она здесь? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2017, 12:18 |
|
||
|
Аналог openssl_encrypt из PHP
|
|||
|---|---|---|---|
|
#18+
mayton, 1. с методом скорее всего упрутся, пароль вот удлинили до 16 байт (был 8) 2. возможность то есть, она это моя версия, какая на той стороне не знаю, по отсутствию вектора видимо где то такая же ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2017, 12:20 |
|
||
|
Аналог openssl_encrypt из PHP
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, ответ пхп как у них я добился в своей, там все как в приведенном примере, все утф8, а вот чтобы что то еще дало такой же результат - пока нет но в документации в комментариях есть пример, разбираюсь в нем --- BECAUSE THE PASSWORD PARAMETER DOCUMENTED HERE IS NOT THE PASSWORD. It means that the password parameter of the function is not the same string used as [-pass pass:] parameter with openssl cmd tool for file encryption decryption. IT IS THE KEY ! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2017, 12:23 |
|
||
|
Аналог openssl_encrypt из PHP
|
|||
|---|---|---|---|
|
#18+
wolverinmayton, 1. с методом скорее всего упрутся, пароль вот удлинили до 16 байт (был 8) Ну это ОК. Это нормуль. 2. возможность то есть, она это моя версия, какая на той стороне не знаю, по отсутствию вектора видимо где то такая же Узнай пожалуйста как на серваке. Это важно для топика. И узнай версии OpenSSL расширений. Как тут. Код: sql 1. 2. 3. Код: php 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2017, 12:31 |
|
||
|
Аналог openssl_encrypt из PHP
|
|||
|---|---|---|---|
|
#18+
mayton, Текущая версия PHP: 5.4.45-0+deb7u9 openssl version text: OpenSSL 1.0.1t 3 May 2016 openssl version number: 268439887 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2017, 12:37 |
|
||
|
Аналог openssl_encrypt из PHP
|
|||
|---|---|---|---|
|
#18+
maytonЕсли использовать ключ (K) и вектор инициализации (IV) явно .. то процесс генерации рандомной соли подавляется. Код: sql 1. У меня не подавляется. Код: sql 1. 2. Код: sql 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2017, 12:40 |
|
||
|
Аналог openssl_encrypt из PHP
|
|||
|---|---|---|---|
|
#18+
wolverin, значит эта форма подходит. Код: php 1. Забей (пока) фиксированный iv="bla-bla" и попробуй зашифровать и расшифровать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2017, 12:43 |
|
||
|
Аналог openssl_encrypt из PHP
|
|||
|---|---|---|---|
|
#18+
Alexey Tomin, Код: java 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2017, 12:48 |
|
||
|
Аналог openssl_encrypt из PHP
|
|||
|---|---|---|---|
|
#18+
Alexey Tomin, хм... и как-то ты сочетаешь password и key. Непонятненько. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2017, 12:50 |
|
||
|
Аналог openssl_encrypt из PHP
|
|||
|---|---|---|---|
|
#18+
mayton, вопщим пример из комментария к домкументации сработал ) Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. он же в баше Код: powershell 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2017, 12:51 |
|
||
|
Аналог openssl_encrypt из PHP
|
|||
|---|---|---|---|
|
#18+
точнее так, но несколько отличается в конце видимо из за другого конца строки Код: powershell 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2017, 12:59 |
|
||
|
Аналог openssl_encrypt из PHP
|
|||
|---|---|---|---|
|
#18+
wolverinнесколько отличается в конце всмысле сам шифр в конце чуть другой, главное что дешифруется верно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2017, 13:01 |
|
||
|
Аналог openssl_encrypt из PHP
|
|||
|---|---|---|---|
|
#18+
))) ужс что -pass pass:"1234567890123456" что -pass pass:"1234567812345678" при дешифровке верный результат, это вообще как так!? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2017, 13:15 |
|
||
|
Аналог openssl_encrypt из PHP
|
|||
|---|---|---|---|
|
#18+
wolverin, тупанул, -pass pass: вообще лишнее, ключ же указан ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2017, 13:20 |
|
||
|
Аналог openssl_encrypt из PHP
|
|||
|---|---|---|---|
|
#18+
wolverin, -pass pass: вообще не прокатывает, только КЛЮЧ!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2017, 13:22 |
|
||
|
Аналог openssl_encrypt из PHP
|
|||
|---|---|---|---|
|
#18+
wolverinwolverin, -pass pass: вообще не прокатывает, только КЛЮЧ!!! Это не свазано с алгоритмом. Это просто баг консольной утилиты openssl. Возможно она берет выхватывает их аргументов самые значимые, применяет их к шаблону вызова функции и когда этот шаблон наполнен на 100% то делается вызов а остальные параметры тупо игнорятся. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2017, 14:10 |
|
||
|
Аналог openssl_encrypt из PHP
|
|||
|---|---|---|---|
|
#18+
mayton, нет нет, я попробовал пасс без ключа - нифига, только при указании ключа дешифруется ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2017, 14:12 |
|
||
|
Аналог openssl_encrypt из PHP
|
|||
|---|---|---|---|
|
#18+
Мне кажется есть всего двай кейса использования openssl_encryt: - pass + salt - Key + IV При этом salt и IV опциональны. Но каждый API считает своим долгом вписать свою реализацию этих опционалов и подкидывает нам медвежью услугу. Нам сложно стыковать Java и PHP. На самом деле pass все равно внутри должен трансформироваться в ключ равный длине блока алгоритма иначе у нас просто алгоритм не будет удовлетворять своим-же требованиям для AES-128 нам нужен 128-bit ключ который будет сгенерирован из парольной фразы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2017, 14:17 |
|
||
|
Аналог openssl_encrypt из PHP
|
|||
|---|---|---|---|
|
#18+
таааксссс, поменял в пхп на aes-128-ctr задал ключи и вектор в байтах взятых из hex php Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. и результаты сошлись теперь надо допилить до 256 и пароль строку в байты перевести ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2017, 14:41 |
|
||
|
Аналог openssl_encrypt из PHP
|
|||
|---|---|---|---|
|
#18+
Почти победа. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2017, 16:59 |
|
||
|
Аналог openssl_encrypt из PHP
|
|||
|---|---|---|---|
|
#18+
maytonдля AES-128 нам нужен 128-bit ключ теперь другая беда, пробую 256битный ключ, валится ошибка, не поддерживает что ли!? oracle-glassfish3.1.2|javax.enterprise.system.std.com.sun.enterprise.server.logging|_ThreadID=96;_ThreadName=Thread-2;|java.security.InvalidKeyException: Illegal key size ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2017, 07:27 |
|
||
|
Аналог openssl_encrypt из PHP
|
|||
|---|---|---|---|
|
#18+
По ошибке трудно понять какой крипто провайдер у тебя подключен. Желательно включить bouncycastle. Там должен быть aes-256 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2017, 08:12 |
|
||
|
Аналог openssl_encrypt из PHP
|
|||
|---|---|---|---|
|
#18+
maytonПо ошибке трудно понять какой крипто провайдер у тебя подключен. Желательно включить bouncycastle. Там должен быть aes-256 у меня оракловая ЖВМ, а там похоже ограничение по дефолту до 128 только алгоритмы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2017, 08:39 |
|
||
|
Аналог openssl_encrypt из PHP
|
|||
|---|---|---|---|
|
#18+
wolverinmaytonПо ошибке трудно понять какой крипто провайдер у тебя подключен. Желательно включить bouncycastle. Там должен быть aes-256 у меня оракловая ЖВМ, а там похоже ограничение по дефолту до 128 только алгоритмы Чел. Крипто-провайдер - это как JDBC-драйвер. Скачиваешь. Ставишь. И ОК. Код: java 1. 2. 3. 4. 5. Чуть позже я подскажу как вывести список текущих провайдеров. Или может сам поищи. Через стандартный Security API. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2017, 09:03 |
|
||
|
Аналог openssl_encrypt из PHP
|
|||
|---|---|---|---|
|
#18+
Потом для каждого провайдера можно вывести список алгоритмов которые он поддерживает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2017, 09:15 |
|
||
|
Аналог openssl_encrypt из PHP
|
|||
|---|---|---|---|
|
#18+
wolverin, Ограничения снимаются заменой jar файла в JRE, если действительно в ограничении дело ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2017, 09:16 |
|
||
|
Аналог openssl_encrypt из PHP
|
|||
|---|---|---|---|
|
#18+
maytonЧел. Крипто-провайдер - это как JDBC-драйвер. Скачиваешь. Ставишь. И ОК. скачал JCE теперь на ключ не ругается, но почему то вектор все еще ограничен 16 байтами ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2017, 09:16 |
|
||
|
Аналог openssl_encrypt из PHP
|
|||
|---|---|---|---|
|
#18+
http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html Но по-моему не в этом дело. Вы что-то напутали. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2017, 09:17 |
|
||
|
Аналог openssl_encrypt из PHP
|
|||
|---|---|---|---|
|
#18+
Blazkowicz http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html Но по-моему не в этом дело. Вы что-то напутали. нет, у меня 7ка, сейчас минуту проверю ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2017, 09:20 |
|
||
|
Аналог openssl_encrypt из PHP
|
|||
|---|---|---|---|
|
#18+
Ну ОК. Можно и JCE. Все таки посмотрите список провайдеров и алгоритмов. Что-б не было "ковыряния" вслепую. Просто название алгоритма может записываться не так как в OpenSSL. Буква там другая... мало ли чего. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2017, 09:24 |
|
||
|
Аналог openssl_encrypt из PHP
|
|||
|---|---|---|---|
|
#18+
все сошлось для 256 вывод 1. пароли пхп должны быть переведены в byte и длиной соответствовать блоку алгоритма 2. заданы 2 дополнительных параметра openssl_encrypt - OPENSSL_RAW_DATA, $iv тогда получится каменный цветок ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2017, 09:26 |
|
||
|
|

start [/forum/topic.php?all=1&fid=59&tid=2122633]: |
0ms |
get settings: |
6ms |
get forum list: |
14ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
52ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
70ms |
get tp. blocked users: |
1ms |
| others: | 206ms |
| total: | 363ms |

| 0 / 0 |
