PHP mcrypt 到 ColdFusion 解密

标签 php coldfusion coldfusion-8 mcrypt

我在一个 PHP 应用程序中工作,我们有一个特定的字符串,我们需要在将其存储到数据库之前对其进行加密。我可以在 PHP 中使用带有 key 和 iv 的 mcrypt 没有问题。目前我正在尝试使用河豚,因为我认为就在 ColdFusion 中解密而言,它是最灵活的。我遇到的问题是 ColdFusion 似乎不想使用我加密的 key 或 iv。 ColdFusion 希望您生成 SecretKey() 并使用其他方式创建 iv。

我似乎无法做到的是让两者进行交流。我首先尝试在 coldFusion 中加密并使用它生成的 key 和它在 PHP 中使用的 iv 但结果不是它应该是的。我知道我一定遗漏了什么,但我不能完全确定它可能是什么。

<?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 都可以使用它并且它是安全的。

谢谢, 布鲁斯

最佳答案

像这样的东西应该可以工作。您只需要在每个人之间共享一个公共(public) key 。

在 PHP 中:

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

在 Coldfusion 中:

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

关于PHP mcrypt 到 ColdFusion 解密,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8089086/

相关文章:

javascript - If 语句触发错误警报

javascript - 表单提交不传递按钮名称

coldfusion - 无效的 XML 字符 (Unicode : 0x1e) in Coldfusion XML output

MySQL/ColdFusion 8 : sql-mode

javascript - getElementById 无法获取 html id 的值

javascript - 在列表中搜索元素

coldfusion - 在 ColdFusion 中解码数字 HTML 实体?

mysql - 将文件保存到 Coldfusion 中的服务器,存储在 CF 临时目录中而不是指定的目的地

javascript - 通过 Javascript 加载警报窗口后 HTML 字体大小发生变化

java - 使用 java 库和 Lucee 将表情符号转换为 html 十六进制