在PHP中解密ColdFusion加密的字符串

时间:2019-12-16 11:15:10

标签: php encryption coldfusion

我有一个用Coldfusion加密的字符串,需要用PHP解密才能使用。

所以我正在寻找一种对应于以下方法的方法:

Decrypt(stringToDecrypt,"2450RDSET0C","CFMX_COMPAT","HEX")

在这里

stringToDecrypt =要解密的字符串,

"2450RDSET0C" =用于加密字符串的种子

CFMX_COMPAT =加密算法

HEX =使用的编码

https://helpx.adobe.com/coldfusion/cfml-reference/coldfusion-functions/functions-c-d/Decrypt.html

要解密的示例字符串:6A968A969DEB9A16549C61EE2EFE40A6515E

2 个答案:

答案 0 :(得分:0)

我能够使用以下代码解密示例字符串。

<?php
require __DIR__ . '/vendor/autoload.php';

use AwkwardIdeas\PHPCFEncrypt\Encrypt;

$stringToDecrypt = '6A968A969DEB9A16549C61EE2EFE40A6515E';
$key = '2450RDSET0C';
$decrypted = Encrypt::decrypt($stringToDecrypt, $key, 'CFMX_COMPAT', 'hex');
var_dump($decrypted);
$ php main.php
string(18) "SofortUeberweisung"

在使用composer安装依赖项之后。

composer require awkwardideas/phpcfencrypt

这是您可以用来测试的GitHub Gist。

https://gist.github.com/AlexanderOMara/b9bb6ff2a57bd0cf61fa8f0823d9a2a0

只需先运行composer install

注意:这种加密方案很弱!

希望您将此解密代码用作迁移过程的一部分,以迁移到更强的加密方案,例如AES(如果是密码,则使用密码哈希,例如bcrypt)。

答案 1 :(得分:-1)

正如@RRK所述,请尝试https://github.com/awkwardideas/PHPCFEncrypt。看起来这是您要查找的库。

来自a test case

$encoded = Encrypt::decrypt($password, $key, "CFMX_COMPAT", "hex");

但是正如其他人已经提到的,最好摆脱这种加密方式。