2009-11-16 65 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