【问题标题】:Coldfusion Hash SHA-1 Doesnt look the same as the sampleColdfusion Hash SHA-1 看起来与示例不同
【发布时间】:2013-07-11 07:20:04
【问题描述】:

我正在编写一个脚本来散列“指纹”,以便与安全的 Pay Direct Post API 进行通信。

我遇到的问题是我试图创建一个与提供的示例代码匹配的 SHA-1 字符串,以便我可以确保准确发布。

示例 Sha-1 字符串的编码方式类似于

01a1edbb159aa01b99740508d79620251c2f871d

但是我的字符串在转换后显示为

7871D5C9A366339DA848FC64CB32F6A9AD8FCADD

完全不同...

我的代码如下..

<cfset variables.finger_print = "ABC0010|txnpassword|0|Test Reference|1.00|20110616221931">
<cfset variables.finger_print = hash(variables.finger_print,'SHA-1')>
<cfoutput>
#variables.finger_print#
</cfoutput>

我正在使用 Coldfusion 8 来执行此操作

它生成一个 40 个字符的哈希,但我可以看到它生成完全不同的字符串。

希望有人以前做过这件事,可以为我指明正确的方向......

提前致谢

** 编辑

创建Hash的文章只包含以下信息。

示例:设置指纹字段加入 |分隔符:

ABC0010|txnpassword|0|测试参考|1.00|20110616221931

SHA1 上述字符串:01a1edbb159aa01b99740508d79620251c2f871d

当使用coldfusion哈希生成上面的示例字符串时,它会变成这个

7871D5C9A366339DA848FC64CB32F6A9AD8FCAD

【问题讨论】:

  • 确认要求使用的算法,只要 SHA 算法从冷融合生成的密钥是正确的。确保您也传递了正确的值。
  • 试用在线工具sha1-hash-online.waraxe.us进行验证
  • 能否请您也发布“示例代码”。
  • 我已经使用验证工具运行了字符串并且它正确出现,但是冷融合过程生成的最终输出不正确。 - 这就是我用来处理它的所有代码,还有其他变量我应该分配给它吗?还是 Coldfusion 在处理它时遇到问题?
  • 我使用@PriteshPatel 提到的在线工具输入了您的示例字符串,它生成的哈希值与您提供的“7871D5C9A366339DA848FC64CB32F6A9AD8FCAD”示例的 ColdFusion 示例相同——不是提供的示例。所以 ColdFusion 和在线工具相匹配。我还在fileformat.info/tool/hash.htm 输入了您的字符串,它会生成几个不同的哈希值。它们都与您的样本不匹配。您确定生成的样本哈希使用的是 SHA-1 吗?

标签: hash coldfusion fingerprint


【解决方案1】:

01a1edbb159aa01b99740508d79620251c2f871d

抱歉,鉴于 php、CF 和 java 都另有说明,我看不出示例字符串如何产生该结果。我怀疑文档中有错误。突出的一件事是使用“txnpassword”而不是示例值,就像其他字段一样。也许他们使用不同的值来生成字符串并忘记将其插入实际示例中?

更新:

第 27 页的示例 5.2.1.12 更有意义。忽略大小写,ColdFusion 的结果完全匹配。我注意到描述中还提到了 summarycode 值,这在第 3.3.6 节的示例中没有出现。所以这倾向于支持前面例子中的文档错误理论。

代码:

 <cfset input = "ABC0010|mytxnpasswd|MyReference|1000|201105231545|1">
 <cfoutput>#hash(input, "sha-1")#</cfoutput>

结果:

 3F97240C9607E86F87C405AF340608828D331E10

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多