我不是英语发言者,提前抱歉。
我有一个ColdFusion 6.1应用程序,现在我正在尝试迁移到另一个环境。在ColdFusion应用程序中,我的用户的密码使用ColdFusion函数加密:
password_encrypted=toBase64(encrypt(text,key));
有谁知道如何在PHP中解密它?我不知道CFMX 6.1中使用的密码算法是什么。我认为算法的名称是CFMX_COMPAT
,但我不知道它是否在PHP中具有等价物。
感谢!!!
答案 0 :(得分:5)
如果我没弄错的话,默认的CFMX_COMPAT功能只是一个异或。
所以在PHP中,这将简单如下:
$password_encrypted = base64_encode($text ^ $key);
希望这有帮助。
编辑:
我很好奇所以我写了一个小脚本来测试,这可能会被逆转,这里是加密/解密。
<?php
$text = 'test';
$key = 'asdf';
$password_encrypted = base64_encode($key ^ $text);
echo $password_encrypted . "<br>\n";
$password_decrypted = base64_decode($password_encrypted) ^ $key;
echo $password_decrypted;
?>
答案 1 :(得分:2)
也许是一个愚蠢的问题,为什么不尝试使用Coldfusion 6 UN-encrypting
?将其作为纯文本插入记录(在DEV中)。
然后使用PHP以任何格式加密。这样你100%肯定它将从Coldfusion解密/理解为PHP。
这里的参考是CF 6 encrypt()fn: http://livedocs.adobe.com/coldfusion/6/CFML_Reference/functions-pt175.htm
这里是decrypt()fn: http://livedocs.adobe.com/coldfusion/6/CFML_Reference/functions-pt170.htm#1103962