1

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

例子:

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

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

我不确定为什么会发生这种情况(并且仅在某些被解密的字符串上)。

这是代码:

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

1 回答 1

3

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

所以试试这段代码。

<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
于 2012-08-10T21:15:27.833 回答