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

надо ещё версии openssl посмотреть. Может если найти старую той же что у вас в пыхе, то будет нужное поведение.
...
Рейтинг: 0 / 0
Аналог openssl_encrypt из PHP
    #39509731
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hettвектор не может быть статическим
Вы перепутали "может" и "должен".
...
Рейтинг: 0 / 0
Аналог openssl_encrypt из PHP
    #39509735
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczHettвектор не может быть статическим
Вы перепутали "может" и "должен".

Имею в виду, что не может быть такого, что в openssl он статический.
...
Рейтинг: 0 / 0
Аналог openssl_encrypt из PHP
    #39509737
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HettИмею в виду, что не может быть такого, что в openssl он статический.
Он вычисляется из ключа, когда не указан. Откуда ему ещё взяться, если его явно нет, а он нужен для расшифровки?
...
Рейтинг: 0 / 0
Аналог openssl_encrypt из PHP
    #39509749
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Блин запутано все. Шнайер в своей книжке пишет что IV вобщем-то передается
открыто первым блоком. Он не особо секретен но его задача - сделать уникальным и секретным
следующий блок - хедер сообщений (которые имеют регулярную природу).

В качестве IV он предлагает счетчик или number-used-once (nonce).

Тоесть основное требование - уникальность по отношению к последовательности
шифро-сообщений в системе.

Фергюсон. Шнайер - Практическая криптография - 5.3 Сцепление шифрованных блоков (CBC)
...
Рейтинг: 0 / 0
Аналог openssl_encrypt из PHP
    #39509755
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonБлин запутано все. Шнайер в своей книжке пишет что IV вобщем-то передается
открыто первым блоком. Он не особо секретен но его задача - сделать уникальным и секретным
следующий блок - хедер сообщений (которые имеют регулярную природу).
Это всё теория. Вопрос о практике и конкретной реализации.
...
Рейтинг: 0 / 0
Аналог openssl_encrypt из PHP
    #39509758
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowicz, ты имеешь в виду первый вопрос автора?
но в жаве чистый AES накладывает ограничение на длину ключа (хорошо, до 16 символов довели) и вектор
как же там в этом пхп происходит шифровка и дешифровка без этих вещей???
...
Рейтинг: 0 / 0
Аналог openssl_encrypt из PHP
    #39509760
Фотография wolverin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
с вектором тоже проблема, явно указывая его в openssl_encrypt добиться такого же ответа не могу
похоже надо все таки на mcrypt давить чтобы переходили с той стороны, там хоть поведение идентично
...
Рейтинг: 0 / 0
Аналог openssl_encrypt из PHP
    #39509764
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczОн вычисляется из ключа, когда не указан.
Откуда такая информация?
...
Рейтинг: 0 / 0
Аналог openssl_encrypt из PHP
    #39509765
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
...
Рейтинг: 0 / 0
Аналог openssl_encrypt из PHP
    #39509773
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wolverin , а какая версия PHP у тебя?

(я щас смотрю в какой-то API и пытаюсь понять подходит он тебе или нет).
...
Рейтинг: 0 / 0
Аналог openssl_encrypt из PHP
    #39509778
Фотография wolverin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,

тоже в него смотрю уже, хотя бы с башем добиться совпадения для понимания, там есть пример в комментариях
PHP 5.4.45-0+deb7u9
...
Рейтинг: 0 / 0
Аналог openssl_encrypt из PHP
    #39509805
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wolverin, смотри мой поинт в том чтобы сильно глубоко не копать в принципы криптографии
(все равно не разберемся в рамках топика). Но хотябы забить все дефолтные параметры
openssl_encrypt(..) в Java и в PHP явными значениями (названия шифров и методы
сцепления блоков и длины ключей).

И открытые вопросы:
1) Что менять можно а что нельзя? Java или PHP? Можно ли вообще поменять метод шифрования и насколько?
2) У тебя есть возможность запускать PHP в консоли? Как тут http://php.net/manual/ru/features.commandline.php
...
Рейтинг: 0 / 0
Аналог openssl_encrypt из PHP
    #39509811
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonwolverin, смотри мой поинт в том чтобы сильно глубоко не копать в принципы криптографии
(все равно не разберемся в рамках топика).
Во-первых уже разобрались.
Во-вторых, поставить рядом ту же версию пыхи и вызывать любым удобным интеропом. Производительность страдает, но нужна ли она здесь?
...
Рейтинг: 0 / 0
Аналог openssl_encrypt из PHP
    #39509815
Фотография wolverin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,

1. с методом скорее всего упрутся, пароль вот удлинили до 16 байт (был 8)
2. возможность то есть, она это моя версия, какая на той стороне не знаю, по отсутствию вектора видимо где то такая же
...
Рейтинг: 0 / 0
Аналог openssl_encrypt из PHP
    #39509819
Фотография wolverin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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 !
...
Рейтинг: 0 / 0
Аналог openssl_encrypt из PHP
    #39509831
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wolverinmayton,
1. с методом скорее всего упрутся, пароль вот удлинили до 16 байт (был 8)

Ну это ОК. Это нормуль.

2. возможность то есть, она это моя версия, какая на той стороне не знаю, по отсутствию вектора видимо где то такая же
Узнай пожалуйста как на серваке. Это важно для топика. И узнай версии OpenSSL расширений.

Как тут.
Код: sql
1.
2.
3.
<?php
echo 'Текущая версия PHP: ' . phpversion();
?>


Код: php
1.
2.
3.
4.
<?php
echo "openssl version text: " . OPENSSL_VERSION_TEXT . "\n";
echo "openssl version number:  " . OPENSSL_VERSION_NUMBER . "\n";
?>
...
Рейтинг: 0 / 0
Аналог openssl_encrypt из PHP
    #39509840
Фотография wolverin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,

Текущая версия PHP: 5.4.45-0+deb7u9
openssl version text: OpenSSL 1.0.1t 3 May 2016
openssl version number: 268439887
...
Рейтинг: 0 / 0
Аналог openssl_encrypt из PHP
    #39509850
Alexey Tomin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonЕсли использовать ключ (K) и вектор инициализации (IV) явно .. то процесс генерации рандомной соли подавляется.

Код: sql
1.
$ echo "mayton" | openssl enc -aes-256-ctr -k CAFEBABE -iv BADCAFE | openssl enc -base64



У меня не подавляется.
Код: sql
1.
2.
$ openssl version
OpenSSL 1.0.1f 6 Jan 2014


Код: sql
1.
2.
3.
4.
5.
6.
$ echo "qwertyuiopasdfghjkl" | openssl enc -aes-256-ctr -k CAFEBABE -iv BADCAFE -pass pass:"1234567890123456" | openssl enc -base64
U2FsdGVkX18CzZUkgxIjSA4xKcxeRU89SVg3AkwneJLi8F1p
$ echo "qwertyuiopasdfghjkl" | openssl enc -aes-256-ctr -k CAFEBABE -iv BADCAFE -pass pass:"1234567890123456" | openssl enc -base64
U2FsdGVkX183CtY5Gil5g9ftCQifaF7TOE5hN32ZXIkKK5LI
$ echo "qwertyuiopasdfghjkl" | openssl enc -aes-256-ctr -k CAFEBABE -iv BADCAFE -pass pass:"1234567890123456" | openssl enc -base64
U2FsdGVkX19X/GbdJ3xqLCJCS/s6wCMlwsvbuZIbrefXFbRt
...
Рейтинг: 0 / 0
Аналог openssl_encrypt из PHP
    #39509856
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wolverin, значит эта форма подходит.
Код: php
1.
string openssl_encrypt ( string $data , string $method , string $key [, int $options = 0 [, string $iv = "" [, string &$tag = NULL [, string $aad = "" [, int $tag_length = 16 ]]]]] )


Забей (пока) фиксированный iv="bla-bla" и попробуй зашифровать и расшифровать.
...
Рейтинг: 0 / 0
Аналог openssl_encrypt из PHP
    #39509862
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexey Tomin,

Код: java
1.
2.
$ openssl version
OpenSSL 1.0.2g 1 Mark 2016
...
Рейтинг: 0 / 0
Аналог openssl_encrypt из PHP
    #39509864
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexey Tomin, хм... и как-то ты сочетаешь password и key. Непонятненько.
...
Рейтинг: 0 / 0
Аналог openssl_encrypt из PHP
    #39509865
Фотография wolverin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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.
<html>
    <head>
        <meta http-equiv="content-type" content="text/html;charset=utf-8">
        <title>Video</title>
    </head>
    <body>
        <h1>Video</h1>
        <?php

        function strtohex($x)
        {
            $s='';
            foreach (str_split($x) as $c) $s.=sprintf("%02X",ord($c));
            return($s);
        }

        $data = "qwertyuiopasdfghjkl";

        $iv = "1234567812345678";
        $pass = '1234567812345678';
        $method = 'aes-256-ctr';

        echo $data."<br>";
        echo "pass: ".$pass."<br>";
        echo "iv: ".$iv."<br>";
        echo "<br>";
        echo "key hex: ".strtohex ($pass)."<br>";
        echo "iv hex: ".strtohex ($iv)."<br>";

        $data = openssl_encrypt ($data, $method, $pass, true, $iv);
        echo $data."<br>";

        $query = base64_encode($data);
        echo $query."<br>";

        echo "<br>";
        echo 'Текущая версия PHP: ' . phpversion()."<br>";
        echo "openssl version text: " . OPENSSL_VERSION_TEXT."<br>";
        echo "openssl version number:  " . OPENSSL_VERSION_NUMBER."<br>";

        ?>
    </body>
</html>



он же в баше
Код: powershell
1.
echo "ehhyMx2q9k5AiooFc9HFqCYTsQ==" | openssl enc -base64 -d | openssl enc -aes-256-ctr -pass pass:"1234567890123456" -d -nosalt -nopad -K 31323334353637383132333435363738 -iv 31323334353637383132333435363738
...
Рейтинг: 0 / 0
Аналог openssl_encrypt из PHP
    #39509872
Фотография wolverin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
точнее так, но несколько отличается в конце видимо из за другого конца строки
Код: powershell
1.
echo "qwertyuiopasdfghjkl" | openssl enc -aes-256-ctr -pass pass:"1234567890123456" -nosalt -nopad -K 31323334353637383132333435363738 -iv 31323334353637383132333435363738 | openssl enc -base64
...
Рейтинг: 0 / 0
25 сообщений из 96, страница 3 из 4
Форумы / Java [игнор отключен] [закрыт для гостей] / Аналог openssl_encrypt из PHP
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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