PHP mcrypt到ColdFusion解密

PHP mcrypt到ColdFusion解密,php,coldfusion,coldfusion-8,mcrypt,Php,Coldfusion,Coldfusion 8,Mcrypt,我在一个PHP应用程序中工作,我们有一个特殊的字符串,需要在存储到数据库之前进行加密。我可以在PHP中实现这一点,使用带有密钥和iv的mcrypt不会有问题。目前我正在尝试使用blowfish,因为我认为它在ColdFusion中解密时是最灵活的。我遇到的问题是ColdFusion似乎不想使用我加密的密钥或iv。ColdFusion希望您生成eseCretKey()并使用其他方法创建iv 我似乎不能做的是让这两个人交流。我首先尝试在coldFusion中加密,并使用它生成的密钥,然后在PHP中使

我在一个PHP应用程序中工作,我们有一个特殊的字符串,需要在存储到数据库之前进行加密。我可以在PHP中实现这一点,使用带有密钥和iv的mcrypt不会有问题。目前我正在尝试使用blowfish,因为我认为它在ColdFusion中解密时是最灵活的。我遇到的问题是ColdFusion似乎不想使用我加密的密钥或iv。ColdFusion希望您生成eseCretKey()并使用其他方法创建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);
?>

像这样的东西应该可以用。您只需要在每个用户之间共享一个公共密钥

在PHP中:

base64_encode(mcrypt_encrypt(MCRYPT_3DES, $key, $plain_string, MCRYPT_MODE_ECB));
<cfscript>
     decrypted_string = decrypt(enc_string, key, "DESEDE", "Base64");
</cfscript>
在Coldfusion中:

base64_encode(mcrypt_encrypt(MCRYPT_3DES, $key, $plain_string, MCRYPT_MODE_ECB));
<cfscript>
     decrypted_string = decrypt(enc_string, key, "DESEDE", "Base64");
</cfscript>

解密字符串=解密(加密字符串,密钥,“DESEDE”,“Base64”);

查看标记的答案:我相信他们想使用更安全的
CBC
(需要
iv