我處於不利的位置,我必須在現有的ColdFusion應用程序中維護功能。作爲登錄過程的一部分,Coldfusion應用程序使用加密的字符串存儲cookie。對PHP中的ColdFusion加密字符串進行解密/重新加密
encrypt(strToEncrypt, theKey, "AES", "Base64")
我可以成功解密使用的mcrypt在PHP這個字符串和下面的代碼
mcrypt_decrypt(
MCRYPT_RIJNDAEL_128,
base64_decode($theKey),
base64_decode($encrypted_string),
MCRYPT_MODE_ECB, "0000000000000000")
我現在已經在PHP中執行相同的加密,使ColdFusion的應用程序可以訪問數據的需要cookie。
目前我有什麼是
mcrypt_encrypt(MCRYPT_RIJNDAEL_128, base64_decode($theKey), $strToEncrypt, MCRYPT_MODE_ECB, "0000000000000000");
然而,這是等價的ColdFusion加密算法
decrypt(strToDecrypt, theKey, "AES", "Base64")
投擲Given final block not properly padded
誤差不兼容。
任何幫助非常感謝。
詹姆斯
你'base64_encode()'mcrypt_encrypt()'的結果? – Tomalak 2010-07-07 16:38:59
另請參閱加密函數的ivorsalt和迭代參數:http://www.adobe.com/livedocs/coldfusion/7/htmldocs/wwhelp/wwhimpl/common/html/wwhelp.htm?context=ColdFusion_Documentation&file=00000457。 htm – 2010-07-07 21:30:04
@Tomalak是的,mcrypt_encrypt的結果是base64_encoded。 – WeeJames 2010-07-08 08:43:05