powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Аналог openssl_encrypt из PHP
25 сообщений из 96, страница 2 из 4
Аналог openssl_encrypt из PHP
    #39509320
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowicz2. По-умолчанию в PHP iv - пустая строка. Скорее всего ни на что не повлияет, но я пока не уверен.

Всё. Понял. Я тупой. Надо найти дефолтное значение?
...
Рейтинг: 0 / 0
Аналог openssl_encrypt из PHP
    #39509322
Фотография wolverin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczНадо найти дефолтное значение?
да (
...
Рейтинг: 0 / 0
Аналог openssl_encrypt из PHP
    #39509325
Фотография wolverin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
как дополняется пароль до длины и какой вектор используется чтоб все тоже самое в жаве сделать
...
Рейтинг: 0 / 0
Аналог openssl_encrypt из PHP
    #39509327
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Фу блин. IV это же типа соли. Рандомная примесь. Вот оно и будет всегда разным. Даже на PHP.
...
Рейтинг: 0 / 0
Аналог openssl_encrypt из PHP
    #39509330
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wolverinкак дополняется пароль до длины и какой вектор используется чтоб все тоже самое в жаве сделать
Может всё же не парится и взять готовое?
http://juliusdavies.ca/commons-ssl/javadocs/org/apache/commons/ssl/OpenSSL.html
...
Рейтинг: 0 / 0
Аналог openssl_encrypt из PHP
    #39509333
Фотография wolverin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowicz,

нет, сейчас проверил, openssl_encrypt($data,'AES-256-CTR', $key) всегда выводит одно и то же

ссылку изучаю.
...
Рейтинг: 0 / 0
Аналог openssl_encrypt из PHP
    #39509335
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Потому что там вектор всегда один и тот же - пустой. Новые версии пхп вообще ошибку генерируют.

Код: plaintext
PHP Error[2]: openssl_encrypt(): Using an empty Initialization Vector (iv) is potentially insecure and not recommended
...
Рейтинг: 0 / 0
Аналог openssl_encrypt из PHP
    #39509338
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Посолить надо. Что-б пароль не протух.
...
Рейтинг: 0 / 0
Аналог openssl_encrypt из PHP
    #39509341
Фотография wolverin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HettПотому что там вектор всегда один и тот же - пустой. Новые версии пхп вообще ошибку генерируют.

Код: plaintext
PHP Error[2]: openssl_encrypt(): Using an empty Initialization Vector (iv) is potentially insecure and not recommended

пустой это какой? нулл, пустая строка или что?
...
Рейтинг: 0 / 0
Аналог openssl_encrypt из PHP
    #39509342
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: 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.
/**
 * Encrypts data
 * @link http://php.net/manual/en/function.openssl-encrypt.php
 * @param string $data <p>
 * The data.
 * </p>
 * @param string $method <p>
 * The cipher method.
 * </p>
 * @param string $key <p>
 * The key. For a list of available cipher methods, use {@see openssl_get_cipher_methods()}.
 * </p>
 * @param int $options [optional] <p>
 * options is a bitwise disjunction of the flags OPENSSL_RAW_DATA and OPENSSL_ZERO_PADDING.
 * </p>
 * @param string $iv [optional] <p>
 * A non-NULL Initialization Vector.
 * </p>
 * @param string &$tag <p>The authentication tag passed by reference when using AEAD cipher mode (GCM or CCM).</p>
 * @param string $aad <p>Additional authentication data.</p>
 * @param int $tag_length [optional] <p>
 * The length of the authentication tag. Its value can be between 4 and 16 for GCM mode.
 * </p>
 * @return string the encrypted string on success or false on failure.
 * @since 5.3.0
 */
function openssl_encrypt($data, $method, $key, $options = 0, $iv = "", &$tag = NULL, $aad = "", $tag_length = 16) { }
...
Рейтинг: 0 / 0
Аналог openssl_encrypt из PHP
    #39509344
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wolverinнет, сейчас проверил, openssl_encrypt($data,'AES-256-CTR', $key) всегда выводит одно и то же
ссылку изучаю.
Ну, можно, конечно и так попробовать.
IvParameterSpec iv = new IvParameterSpec(new byte[16]);
...
Рейтинг: 0 / 0
Аналог openssl_encrypt из PHP
    #39509348
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А вот тут можно поизучать код по поводу поведения по-умолчанию.
https://github.com/php/php-src/blob/master/ext/openssl/openssl.c
...
Рейтинг: 0 / 0
Аналог openssl_encrypt из PHP
    #39509349
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wolverinнет, сейчас проверил, openssl_encrypt($data,'AES-256-CTR', $key) всегда выводит одно и то же

Стремление сделать что было так же - не понятно, особенно, если учесть что IV на расшифровку влиять не должен.
...
Рейтинг: 0 / 0
Аналог openssl_encrypt из PHP
    #39509351
Фотография wolverin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowicz,

почему это не должен? для дешифровки же соль тоже передается вместе с ключом
...
Рейтинг: 0 / 0
Аналог openssl_encrypt из PHP
    #39509358
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вектор передается вместе с шифрованными данными.
...
Рейтинг: 0 / 0
Аналог openssl_encrypt из PHP
    #39509363
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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.)
...
Рейтинг: 0 / 0
Аналог openssl_encrypt из PHP
    #39509365
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HettВектор передается вместе с шифрованными данными.
Спасибо. Как я понял OpenSSL вычисляет IV из ключа каким-то своим алгоритмом. Это ещё больше подтверждает надобность изспольховать openssl напрямую или какую-нибудь совместимую реализацию.
...
Рейтинг: 0 / 0
Аналог openssl_encrypt из PHP
    #39509366
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Аналог openssl_encrypt из PHP
    #39509372
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
...
Рейтинг: 0 / 0
Аналог openssl_encrypt из PHP
    #39509375
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczHettВектор передается вместе с шифрованными данными.
Спасибо. Как я понял OpenSSL вычисляет IV из ключа каким-то своим алгоритмом. Это ещё больше подтверждает надобность изспольховать openssl напрямую или какую-нибудь совместимую реализацию.
Я-бы сказал что это не выдерживает критики. Вместо неправды мы получили сложную
полу-правду которую надо долго доказывать. Я думаю что Шнайер, Циммерман, Диффи и Хелман
топают ногами и изрыгают проклятия читая описание API.
...
Рейтинг: 0 / 0
Аналог openssl_encrypt из PHP
    #39509686
Фотография wolverin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczНу, можно, конечно и так попробовать.
IvParameterSpec iv = new IvParameterSpec(new byte[16]);
не прокатывает, видимо собака в чем то другом зарыта
...
Рейтинг: 0 / 0
Аналог openssl_encrypt из PHP
    #39509691
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wolverinне прокатывает, видимо собака в чем то другом зарыта
А до конца дочитать:
20744233
?
...
Рейтинг: 0 / 0
Аналог openssl_encrypt из PHP
    #39509711
Фотография wolverin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowicz,

думаю он не поможет, я попробовал в баше
Код: powershell
1.
echo "qwertyuiopasdfghjkl" | openssl enc -aes-256-ctr -pass pass:"1234567890123456" | openssl enc -base64



каждый раз получаю разный ответ

U2FsdGVkX1+unQA7NKNfmutrBOTNtew/Bo/Cx4cC1BIRoYoM
U2FsdGVkX1+MugZywpgJTz80opmjRPwFMHvK8vUg4pAaBvYX
U2FsdGVkX19iFwoYVDkSYf7gilOkEV2jyJir3AQKsHD3fZjW

однако обратный вариант ото всех шифровок будет
Код: powershell
1.
echo "U2FsdGVkX1+unQA7NKNfmutrBOTNtew/Bo/Cx4cC1BIRoYoM" | openssl enc -base64 -d  | openssl enc -aes-256-ctr -pass pass:"1234567890123456" -d


qwertyuiopasdfghjkl
...
Рейтинг: 0 / 0
Аналог openssl_encrypt из PHP
    #39509718
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wolverin,

Возможно он соль динамически генерит? Если есть задача 100% идентичности, то можно выдрать openssl реализацию из PHP соответствующей версии. Или даже с PHP интегрироваться.
...
Рейтинг: 0 / 0
Аналог openssl_encrypt из PHP
    #39509724
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если использовать ключ (K) и вектор инициализации (IV) явно .. то процесс генерации рандомной соли подавляется.

Код: sql
1.
$ echo "mayton" | openssl enc -aes-256-ctr -k CAFEBABE -iv BADCAFE | openssl enc -base64
...
Рейтинг: 0 / 0
25 сообщений из 96, страница 2 из 4
Форумы / Java [игнор отключен] [закрыт для гостей] / Аналог openssl_encrypt из PHP
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]