2009-11-16 63 views
4

我不是英语发言者,提前抱歉。coldfusion解密在php

我有一个ColdFusion 6.1应用程序,现在我试图迁移到另一个环境。在ColdFusion应用程序,我的用户的密码加密后用ColdFusion的功能:

password_encrypted=toBase64(encrypt(text,key));

有谁知道我怎么能解密在PHP?我不知道CFMX 6.1中使用的密码算法是什么。我认为该算法的名称是CFMX_COMPAT,但我不知道它是否具有PHP中的等效项。

谢谢!

回答

5

如果我没有记错的话,默认CFMX_COMPAT功能是一个简单的XOR。

所以在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; 

?> 
+0

正如你所看到的,按位运算符不是我的强项。 – tplaner 2009-11-16 15:36:27

+0

谢谢Evolve。你的答案可能是正确的,但它不适用于我的问题。我做不到,但非常感谢你。我将尝试使用ColdFusion解密所有密码并将它们存储在我的数据库中。 – Curlas 2009-11-17 11:07:28

+0

这与coldfusion的CFMX_COMPAT加密算法不同,我不确定您尝试使用哪种算法。 – SnoApps 2014-08-21 16:50:25

2

也许一个愚蠢的问题,为什么不试试UN-encrypting使用Coldfusion 6?将它作为纯文本插入记录(在DEV中)。

然后使用PHP以任何格式进行加密。这样,你100%确定它将从Coldfusion解密/理解为PHP。

作为参考这里是CF 6加密()FN: http://livedocs.adobe.com/coldfusion/6/CFML_Reference/functions-pt175.htm

,这里是解密()FN: http://livedocs.adobe.com/coldfusion/6/CFML_Reference/functions-pt170.htm#1103962

+0

智能答案....我在想什么太大笑 – crosenblum 2009-12-22 02:07:00