Intereting Posts

Расшифровать AES от Coldfusion до PHP

Я зашифровал строку в ColdFusion, используя:

<cfset strEnc=ToBase64(Encrypt("some text","123", "AES","Base64"))> 

Я могу расшифровать строку в ColdFusion, используя:

 <cfset strDec=ToString(Decrypt(ToBinary(strEnc), "123", "AES","Base64"))> 

Но я не могу расшифровать strEnc в PHP. Я нашел некоторые функции расшифровки в PHP. Но для них требуется параметр iv . Может кто-нибудь мне помочь?

Solutions Collecting From Web of "Расшифровать AES от Coldfusion до PHP"

Нативные методы, предлагаемые каждым языком, будут варьироваться в зависимости от ожидаемых аргументов, параметров и методов шифрования.

Чтобы иметь возможность шифровать на одном языке и расшифровывать в другом, вам нужно будет использовать «глобальный» инструмент безопасности – тот, который работает на разных языках.

Я бы порекомендовал вам ознакомиться с ESAPI (Enterprise Security API) https://www.owasp.org/index.php/Category:OWASP_Enterprise_Security_API , который представляет собой библиотеку безопасности с открытым исходным кодом, созданную OWASP (проект Open Web Application Security ) https://www.owasp.org

Существует специальная реализация библиотеки ESAPI, специфичная для ColdFusion ( https://github.com/damonmiller/cfesapi ) и библиотека PHP ( http://code.google.com/p/owasp-esapi-php/ )

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

ESAPI по существу построен с использованием ряда интерфейсов, которые позволяют вам выбирать и использовать различные части библиотеки безопасности в соответствии с вашими потребностями.

Посмотрите на Encryptor, который предоставляет методы для хэширования и шифрования данных. Он также может подписывать и распечатывать, чтобы добавить дополнительные проверки целостности данных, если вы хотите зайти так далеко. (все зависит от того, насколько глубоко вы хотите идти).

ESAPI по существу позволяет разработчикам устанавливать такие данные, как ключи хэша и соли, ключи шифрования и другие данные в файле конфигурации безопасности (простой текстовый файл), который будет читать библиотека. Как это имеет место, ваша реализация PHP может легко иметь те же данные безопасности, что и ваша реализация ColdFusion, то есть они будут делиться одной и той же информацией о шифровании / хеше / соле и, таким образом, будут шифровать и расшифровывать одни и те же данные до тех же значений.

Я не добавлял в этот комментарий примеры кода, но если это будет похоже на то, что поможет вам и выполнит ваши требования, ознакомьтесь с ссылками на упомянутые выше библиотеки ESAPI. Это довольно легко подобрать и узнать, и будет делать то, что вам нужно легко.

Взгляните на base64_decode() и aes_decrypt

 $key = base64_decode($key); $data = base64_decode($data); echo mcrypt_decrypt(MCRYPT_RIJNDAEL_128, $key, $data, MCRYPT_MODE_ECB);