【发布时间】:2014-03-19 11:30:50
【问题描述】:
我目前正在将一个加密字符串发布到一个 ColdFusion Web 服务器,我正在尝试使用在 LiveCode 中加密它时使用的相同密码来解密该值。 它根本不起作用,ColdFusion 一直告诉我要解密的数据不正确。
当我回答发布的数据时,它与冷融合服务器收到的数据完全相同。
我在 Coldfusion 中使用:
<cfset decrypted=decrypt(#dataposted#, #password#,'AES')>
在我使用的 Livecode 中:
encrypt gFirstName using "aes256" with password tPassword
(每个脚本中的两个密码都相同)。
有什么想法吗?
【问题讨论】:
-
你想要DecryptBinary 代替吗?即
decryptBinary(dataposted,password,'AES')(请注意缺少哈希 - 函数参数不需要它们。) -
另外你还没有提到 CF 版本 (7/8/9/10) 和版本 (Standard/Enterprise) - 这些与 CF 支持的算法有关。
-
查看使用虚拟密钥的示例会有所帮助,但还有一些额外的想法:A) 使用 256 位密钥需要先安装 (JCE) Unlimited Strength Jurisdiction Policy。是你做的吗? B) 前面的示例使用需要
iv的“CBC”模式。如果您使用的是 CF 的默认模式“ECB”,则不需要。你有API的链接吗?具体来说,我们需要知道 LiveCode 使用什么“模式”和“填充方案”。 C)你的“密码”字符串的格式是什么? CF 要求键是 base64 编码的字符串。 -
另外,请附上实际错误信息,而不是描述。
标签: coldfusion livecode