我最近做了一个网站,使用ColdFusion 9.我遇到的问题是与ColdFusion的加密/解密功能我公司。 在我解密,我得到这些奇怪的特殊字符显示某些字符串。
例:
MK/_0
<---加密字符串输出
#5&z
<---解密的字符串输出
我不知道为什么发生这种情况(只有对某些字符串得到解密)。
下面是代码:
<cfset ccNum = decrypt(getCCInfo.CUST_CARDNUMBER,myKey)>
我最近做了一个网站,使用ColdFusion 9.我遇到的问题是与ColdFusion的加密/解密功能我公司。 在我解密,我得到这些奇怪的特殊字符显示某些字符串。
例:
MK/_0
<---加密字符串输出
#5&z
<---解密的字符串输出
我不知道为什么发生这种情况(只有对某些字符串得到解密)。
下面是代码:
<cfset ccNum = decrypt(getCCInfo.CUST_CARDNUMBER,myKey)>
好吧,那么首先,我要指出的是,不指定的加密算法使用的是非常差的加密。 所以,你需要解决这个问题。 其次,你或许应该使用一些编码,让您的加密存储更加可靠。
因此,尝试此代码。
<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