powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Аналог openssl_encrypt из PHP
21 сообщений из 96, страница 4 из 4
Аналог openssl_encrypt из PHP
    #39509874
Фотография wolverin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wolverinнесколько отличается в конце
всмысле сам шифр в конце чуть другой, главное что дешифруется верно
...
Рейтинг: 0 / 0
Аналог openssl_encrypt из PHP
    #39509887
Фотография wolverin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
))) ужс
что -pass pass:"1234567890123456" что -pass pass:"1234567812345678" при дешифровке верный результат, это вообще как так!?
...
Рейтинг: 0 / 0
Аналог openssl_encrypt из PHP
    #39509892
Фотография wolverin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wolverin,

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

-pass pass: вообще не прокатывает, только КЛЮЧ!!!
...
Рейтинг: 0 / 0
Аналог openssl_encrypt из PHP
    #39509930
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wolverinwolverin,

-pass pass: вообще не прокатывает, только КЛЮЧ!!!
Это не свазано с алгоритмом. Это просто баг консольной утилиты openssl.
Возможно она берет выхватывает их аргументов самые значимые,
применяет их к шаблону вызова функции и когда этот шаблон наполнен на 100%
то делается вызов а остальные параметры тупо игнорятся.
...
Рейтинг: 0 / 0
Аналог openssl_encrypt из PHP
    #39509932
Фотография wolverin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,

нет нет, я попробовал пасс без ключа - нифига, только при указании ключа дешифруется
...
Рейтинг: 0 / 0
Аналог openssl_encrypt из PHP
    #39509935
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мне кажется есть всего двай кейса использования openssl_encryt:
- pass + salt
- Key + IV

При этом salt и IV опциональны. Но каждый API считает своим долгом вписать свою реализацию
этих опционалов и подкидывает нам медвежью услугу. Нам сложно стыковать Java и PHP.

На самом деле pass все равно внутри должен трансформироваться в ключ равный длине
блока алгоритма иначе у нас просто алгоритм не будет удовлетворять своим-же требованиям
для AES-128 нам нужен 128-bit ключ который будет сгенерирован из парольной фразы.
...
Рейтинг: 0 / 0
Аналог openssl_encrypt из PHP
    #39509951
Фотография wolverin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
таааксссс, поменял в пхп на aes-128-ctr
задал ключи и вектор в байтах взятых из hex php

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
                        byte[] keyBytes = {};
                        byte[] ivBytes = {};


                        SecretKeySpec key = new SecretKeySpec(keyBytes, "AES");
                        IvParameterSpec iv = new IvParameterSpec(ivBytes);

                        Cipher cipher = Cipher.getInstance("AES/CTR/NoPadding");
                        cipher.init(Cipher.ENCRYPT_MODE, key, iv);
                        byte[] ciphered = cipher.doFinal(originalText.getBytes());
                        String encryptedString = javax.xml.bind.DatatypeConverter.printBase64Binary(ciphered);



и результаты сошлись

теперь надо допилить до 256 и пароль строку в байты перевести
...
Рейтинг: 0 / 0
Аналог openssl_encrypt из PHP
    #39510052
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Почти победа.
...
Рейтинг: 0 / 0
Аналог openssl_encrypt из PHP
    #39510204
Фотография wolverin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
...
Рейтинг: 0 / 0
Аналог openssl_encrypt из PHP
    #39510212
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По ошибке трудно понять какой крипто провайдер у тебя подключен.

Желательно включить bouncycastle. Там должен быть aes-256
...
Рейтинг: 0 / 0
Аналог openssl_encrypt из PHP
    #39510217
Фотография wolverin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonПо ошибке трудно понять какой крипто провайдер у тебя подключен.

Желательно включить bouncycastle. Там должен быть aes-256
у меня оракловая ЖВМ, а там похоже ограничение по дефолту до 128 только алгоритмы
...
Рейтинг: 0 / 0
Аналог openssl_encrypt из PHP
    #39510225
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wolverinmaytonПо ошибке трудно понять какой крипто провайдер у тебя подключен.

Желательно включить bouncycastle. Там должен быть aes-256
у меня оракловая ЖВМ, а там похоже ограничение по дефолту до 128 только алгоритмы
Чел. Крипто-провайдер - это как JDBC-драйвер. Скачиваешь. Ставишь. И ОК.
Код: java
1.
2.
3.
4.
5.
<dependency>
    <groupId>org.bouncycastle</groupId>
    <artifactId>bcprov-jdk15on</artifactId>
    <version>1.58</version>
</dependency>


Чуть позже я подскажу как вывести список текущих провайдеров. Или может сам
поищи. Через стандартный Security API.
...
Рейтинг: 0 / 0
Аналог openssl_encrypt из PHP
    #39510227
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Потом для каждого провайдера можно вывести список алгоритмов которые он поддерживает.
...
Рейтинг: 0 / 0
Аналог openssl_encrypt из PHP
    #39510228
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wolverin,
Ограничения снимаются заменой jar файла в JRE, если действительно в ограничении дело
...
Рейтинг: 0 / 0
Аналог openssl_encrypt из PHP
    #39510229
Фотография wolverin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonЧел. Крипто-провайдер - это как JDBC-драйвер. Скачиваешь. Ставишь. И ОК.

скачал
JCE
теперь на ключ не ругается, но почему то вектор все еще ограничен 16 байтами
...
Рейтинг: 0 / 0
Аналог openssl_encrypt из PHP
    #39510231
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html
Но по-моему не в этом дело. Вы что-то напутали.
...
Рейтинг: 0 / 0
Аналог openssl_encrypt из PHP
    #39510234
Фотография wolverin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowicz http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html
Но по-моему не в этом дело. Вы что-то напутали.
нет, у меня 7ка, сейчас минуту проверю
...
Рейтинг: 0 / 0
Аналог openssl_encrypt из PHP
    #39510236
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну ОК. Можно и JCE. Все таки посмотрите список провайдеров и алгоритмов. Что-б не было "ковыряния" вслепую.

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

вывод

1. пароли пхп должны быть переведены в byte и длиной соответствовать блоку алгоритма
2. заданы 2 дополнительных параметра openssl_encrypt - OPENSSL_RAW_DATA, $iv

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

зы. вектор взял половину от пароля 32байтного
...
Рейтинг: 0 / 0
21 сообщений из 96, страница 4 из 4
Форумы / Java [игнор отключен] [закрыт для гостей] / Аналог openssl_encrypt из PHP
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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