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

Hash 使用SHA-1与Php sha1的Coldfusion哈希,hash,coldfusion-10,railo,cfml,Hash,Coldfusion 10,Railo,Cfml,我曾尝试在coldfusion 10和php中使用sha-1对某些字符串进行加密 coldfusion代码: <cfsavecontent variable="Mydata"> abcdefghijklmn </cfsavecontent> <cfset data = Hash(Mydata,"sha-1") > <cfdump var="#data#" abort="true"/> PHP输出: 85d7c5ff403abe72df5b8a27

我曾尝试在coldfusion 10和php中使用sha-1对某些字符串进行加密

coldfusion代码:

<cfsavecontent variable="Mydata">
abcdefghijklmn
</cfsavecontent>
<cfset data = Hash(Mydata,"sha-1") >
<cfdump var="#data#" abort="true"/>
PHP输出: 85d7c5ff403abe72df5b8a2708821ee33cd0bcce

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

我还尝试了SHA-1的在线工具

现场输出:85d7c5ff403abe72df5b8a2708821ee33cd0bcce

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

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


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

<cfset data = Hash(trim(Mydata),"sha-1") >
<cfdump var="#data#" abort="true"/>
abcdefghijklmn
使用trim()函数,我得到了正确的输出

输出:85D7C5FF403ABE72DF5B8A2708821EE33CD0BCCE引入了一些额外的空格

所以只要使用

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


自己运行:

输入中是否可以包含空格/换行符?是的,您是正确的。谢谢@SimonSvensson@SimonSvensson-很好。是的,对于散列,任何差异都是显著的,包括大小写和空白。请注意,由于php代码生成小写,您可能还希望
lcase
生成的字符串与大小写完全匹配。
<cfset data = Hash('abcdefghijklmn',"sha-1")>