2013-03-11 5 views
0

Мне нужно расшифровать строку в PHP, которая генерируется из класса Java. И я не могу понять, что именно делается в этом классе. Java class used for encryption-decryptionШифрование в Java и дешифрование в PHP

Может кто-нибудь предложить мне эквивалентный код или процесс для расшифровки зашифрованной строки.

+0

возможно дубликат [Расшифровать (с PHP) Ява шифрования (PBEWithMD5AndDES)] (http://stackoverflow.com/questions/10300185/decrypt-with-php-a-java-encryption-pbewithmd5anddes) – VolkerK

+0

Я думаю, вам нужно изучить дек в том же классе. –

ответ

2

что класс Java, похоже, выполняет шифрование DES.

В PHP вы можете сделать:

$result=mcrypt_decrypt ("MCRYPT_DES" , $key , $data , $mode); 

в $ ключ и $ переменных режима являются информацией, вы должны знать, $ данные входной зашифрованную строку. Вы можете попробовать MCRYPT_3DES, если другой не работает.

+0

Уже пробовал пример, но не получил желаемого результата. Во-вторых, может кто-нибудь объяснить, что делается в этом классе (шаг за шагом). – Nehrav

0

Ну, даже если вы, похоже, не знаете, какой алгоритм шифрования используется, нам сложно помочь вам. Я не знаком с кодом и классами, которые там используются, но кажется, что DES используется (без дерьма) в странной комбинации с Base64. Найдите DES-расшифровку с помощью PHP, также PHP имеет функции для обработки Base64-String.

Вы также можете найти то, что SecretKeyFactory.getInstance("PBEWithMD5AndDES").generateSecret(keySpec); делает.

0

Код, который вы связали, генерирует ключ шифрования с использованием соли, кодовой фразы и числа итераций md5.

С помощью ключа шифрования вы можете шифровать/расшифровать.

Пару лет назад я реализовал версию PHP использованных алгоритмов PBEWithMD5AndDES: https://github.com/KevinBusse/PBEWithMD5AndDES

Смежные вопросы