Coldfusion加密/解密问题

时间:2012-08-07 21:15:04

标签: encryption coldfusion coldfusion-9

我最近使用ColdFusion 9为我的公司做了一个网站。我遇到的问题是使用ColdFusion加密/解密功能。在我解密的某些字符串上,我会看到这些奇怪的特殊字符。

示例:

MK/_0< ---加密字符串输出

�#5&z< ---已解密的字符串输出

我不确定为什么会发生这种情况(并且只针对某些解密的字符串)。

以下是代码:

<cfset ccNum = decrypt(getCCInfo.CUST_CARDNUMBER,myKey)>

1 个答案:

答案 0 :(得分:2)

好的,首先,我必须指出,通过不指定加密算法,您使用非常差的加密。所以你需要解决这个问题。其次,您可能应该使用一些编码来使您的加密存储更可靠。

请尝试使用此代码。

<cfset key = generateSecretKey("AES") />

<!--- Set the ciphertext to a variable. This is the string you will store for later deciphering --->
<cfset cipherText = encrypt(plaintext, key, "AES/CBC/PKCS5Padding", "HEX") />

<cfoutput>#cipherText#</cfoutput> 

<!--- Then when you decrypt --->

<cfset decipherText = decrypt(cipherText, key, "AES/CBC/PKCS5Padding", "HEX") />

<cfoutput>#decipherText#</cfoutput>

上面的代码将使用强大的加密算法,并将密文放入比上面显示的乱码中更容易存储的格式。这样当你存储它时,再次检索它会更可靠。

以下是字符串的示例:

A51BBB284D6DCCDC17D26FB481584236087C3AB272918E17963BAF749438C06A484922820EDCCD25150732CC5CF8A096