我有一个用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
答案 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");
但是正如其他人已经提到的,最好摆脱这种加密方式。