【问题标题】:Coldfusion Encryption/Decryption issueColdfusion加密/解密问题
【发布时间】:2012-08-07 21:15:04
【问题描述】:

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

例子:

MK/_0

�#5&z

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

代码如下:

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

【问题讨论】:

  • 请提供代码示例。在不知道自己在做什么的情况下,很难分辨出哪里出了问题。我怀疑这可能是编码问题。
  • 这是我的代码:
  • 我编辑了您的原始问题以包含您的代码。您可以在包含它的位置下方删除您的答案。供将来参考,StackOverflow 是一个 Wiki,可让您或其他人返回并编辑您的问题或答案以提高其质量。

标签: encryption coldfusion coldfusion-9


【解决方案1】:

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

所以试试这个代码。

<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

【讨论】:

  • 感谢您的回复,感谢您编辑我的原始帖子。这是我第一次在这个网站上发帖,但无论如何我尝试了你的代码,但我一直收到这个coldfusion错误:“尝试加密或解密你的输入字符串时发生错误:''无法解码字符串“testKey!$@ “..” 现在我所做的只是添加一个测试密钥并累加解密一个简单的字符串,我得到了那个错误。您的示例中的加密格式是否与我使用的不同?再次非常感谢您的帮助。
  • AES 密钥的长度必须准确。在本例中为 128 位。你不能只是在里面扔任何字符串。
  • 要创建测试密钥,您可以使用 generateSecretKeyMethod()。我会修改我的帖子以包含它。
猜你喜欢
  • 2011-01-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-06-10
  • 1970-01-01
  • 2015-06-22
  • 1970-01-01
  • 2018-09-10
相关资源
最近更新 更多