Расшифровка PHP в ColdFusion для расшифровки - PullRequest
5 голосов
/ 11 ноября 2011

Я работаю в приложении 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?

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

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

1 Ответ

1 голос
/ 11 ноября 2011

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

В PHP:

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

В Coldfusion:

<cfscript>
     decrypted_string = decrypt(enc_string, key, "DESEDE", "Base64");
</cfscript>
...