PHP mcrypt для расшифровки ColdFusion

Я работаю в приложении PHP, у нас есть определенная строка, которую нам нужно зашифровать перед сохранением в базе данных. Я могу сделать это на PHP без проблем, используя mcrypt с ключом и iv. В настоящее время я пытаюсь использовать blowfish, потому что я думал, что он будет наиболее гибким в плане расшифровки в ColdFusion. Проблема, с которой я столкнулся, заключается в том, что ColdFusion не хочет использовать ключ или iv, которым я зашифровал. ColdFusion хочет, чтобы вы сгенерировали SecretKey() и использовали другой способ для создания iv.

Чего я не могу сделать, так это заставить их общаться. Я попытался сначала зашифровать в coldFusion и использовать сгенерированный им ключ, который он использовал в PHP, но результат был не таким, каким должен быть. Я знаю, что я должен что-то упустить, но я не могу точно определить, что это может быть.

<?php
$securedString = mcrypt_encrypt ('MCRYPT_BLOWFISH' , 'THISISMYKEYTHATISVERYLONG32CHARS' , "This is the string I need encrypted' , MCRYPT_MODE_CBC , '12345678');
echo base64_encode($securedString);
?>

Так как же будет выглядеть эквивалентный вызов ColdFusion Decryption?

Кстати: если Blowfish не является идеальным алгоритмом для использования, не стесняйтесь предлагать другой, если и ColdFusion, и PHP могут его использовать, и он безопасен.

Спасибо, Брюс


person brucemartin    schedule 11.11.2011    source источник
comment
Ознакомьтесь с отмеченным ответом по адресу: stackoverflow.com/questions/3196846/   -  person Henry    schedule 11.11.2011


Ответы (1)


Что-то вроде этого должно работать. Вам просто нужно поделиться общим ключом между каждым.

В PHP:

base64_encode(mcrypt_encrypt(MCRYPT_3DES, $key, $plain_string, MCRYPT_MODE_ECB));

В Coldfusion:

<cfscript>
     decrypted_string = decrypt(enc_string, key, "DESEDE", "Base64");
</cfscript>
person danielrsmith    schedule 11.11.2011
comment
Я считаю, что они хотят использовать более безопасный CBC (для которого требуется iv) en.wikipedia.orgwiki/Block_cipher_modes_of_operation - person Leigh; 12.11.2011