我曾尝试在coldfusion 10和php中使用sha-1加密某些字符串。
coldfusion代码:
<cfsavecontent variable="Mydata">
abcdefghijklmn
</cfsavecontent>
<cfset data = Hash(Mydata,"sha-1") >
<cfdump var="#data#" abort="true"/>
Coldfusion OutPut: 113D1951E36C83FE1F60BF3BC520CEF65E0373BE
PHP代码:
$content_digest = sha1('abcdefghijklmn');
var_dump($content_digest);
exit();
PHP OutPut: 85d7c5ff403abe72df5b8a2708821ee33cd0bcce
两个代码都没有产生相同的输出。
我尝试过SHA-1 http://www.freeformatter.com/sha1-generator.html#ad-output
的在线工具网站输出:85d7c5ff403abe72df5b8a2708821ee33cd0bcce
该网站和php代码产生相同的输出。
有人解释我的cf代码出了什么问题?谢谢。
答案 0 :(得分:3)
<cfsavecontent>
引入了一些额外的空格。
所以只需使用
<cfset data = Hash('abcdefghijklmn',"sha-1")>
答案 1 :(得分:2)
<cfsavecontent variable="Mydata">
abcdefghijklmn
</cfsavecontent>
<cfset data = Hash(trim(Mydata),"sha-1") >
<cfdump var="#data#" abort="true"/>
使用trim()函数我得到了正确的输出。
输出:85D7C5FF403ABE72DF5B8A2708821EE33CD0BCCE