使用 SHA-1 与 Php sha1 的 Coldfusion 哈希

Coldfusion Hash with SHA-1 vs Php sha1

我尝试在 coldfusion 10 和 php 中使用 sha-1 加密一些字符串。

冷融合代码:

<cfsavecontent variable="Mydata">
abcdefghijklmn
</cfsavecontent>
<cfset data = Hash(Mydata,"sha-1") >
<cfdump var="#data#" abort="true"/>

冷聚变输出: 113D1951E36C83FE1F60BF3BC520CEF65E0373BE

PHP代码:

$content_digest = sha1('abcdefghijklmn');
var_dump($content_digest);
exit();

PHP 输出: 85d7c5ff403abe72df5b8a2708821ee33cd0bcce

两个代码没有产生相同的输出。

而且我已经尝试过 SHA-1 的在线工具 http://www.freeformatter.com/sha1-generator.html#ad-output

站点输出:85d7c5ff403abe72df5b8a2708821ee33cd0bcce

该站点和 php 代码产生相同的输出。

谁能解释一下我的 cf 代码出了什么问题?谢谢。

<cfsavecontent variable="Mydata">
abcdefghijklmn
</cfsavecontent>

<cfset data = Hash(trim(Mydata),"sha-1") >
<cfdump var="#data#" abort="true"/>

使用 trim() 函数我得到了正确的输出。

输出:85D7C5FF403ABE72DF5B8A2708821EE33CD0BCCE

<cfsavecontent> 引入了一些额外的空格。

所以只需使用

<cfset data = Hash('abcdefghijklmn',"sha-1")>

运行 自己动手:http://trycf.com/gist/21e6b5b1ee87f858b913/acf