【问题标题】:PHP mcrypt to ColdFusion decryptPHP mcrypt 到 ColdFusion 解密
【发布时间】:2011-12-26 16:59:06
【问题描述】:

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

我似乎无法让两者进行交流。我尝试首先在coldFusion中加密并使用它生成的密钥和它在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 Decryption 调用会是什么样子?

顺便说一句:如果 Blowfish 不是理想的算法,请随时提出其他建议,只要 ColdFusion 和 PHP 都可以使用它并且它是安全的。

谢谢, 布鲁斯

【问题讨论】:

标签: php coldfusion coldfusion-8 mcrypt


【解决方案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>

【讨论】:

猜你喜欢
  • 2017-01-03
  • 2011-01-24
  • 2015-11-10
  • 2013-01-20
  • 2011-08-16
  • 2017-06-04
  • 2014-09-12
  • 2014-06-28
  • 2014-02-24
相关资源
最近更新 更多