哈希函数在ColdFusion 10+和PHP 7.x上的作用相同?

问题描述 投票:0回答:1

我当前正在为一个当前正在使用ColdFusion 10的站点创建新的PHP站点。当新站点就绪时,ColdFusion站点将停止使用,并且我将无法访问与ColdFusion相关的任何内容。我不想重置所有先前的密码,因此需要能够复制PHP的ColdFusion中使用的单向SHA-512哈希。

关于堆栈溢出的此问题与以下问题非常相关:hash function that works identically on ColdFusion MX7 and PHP 5.x?

不同之处在于它们在ColdFusion中以1024次迭代手动循环。我正在翻译的ColdFusion站点使用内置的迭代功能。我已经尝试了他们在上述问题中所做的工作,最后还尝试了一些变体,包括XOR,但最终我找不到有关ColdFusion在这些迭代过程中所做的工作的文档,我希望这里的人能为您提供帮助。

ColdFusion:

<cfset hpswd = Hash(FORM.npswd & salt, "SHA-512", "UTF-8", 1000) >

PHP(无迭代逻辑):

$hpswd = strtoupper(hash("sha512", $npswd.$salt));

提供此密码:q7+Z6Wp@&#hQ

用这种盐:F4DD573A-EC09-0A78-61B5DA6CBDB39F36

ColdFusion给出此哈希(具有1000次迭代):1FA341B135918B61CB165AA67B33D024CC8243C679F20967A690C159D1A48FACFA4C57C33DDDE3D64539BF4211C44C8D1B18C787917CD779B2777856438E4D21

即使确保用PHP扩展,我也没有设法重复迭代步骤,所以问题是,ColdFusion 10+在迭代步骤中做什么操作数?

php hash coldfusion sha512
1个回答
0
投票
[如果您查看https://www.php.net/manual/en/function.hash.php,我不确定使用PHP得到的结果如何,PHP产生的哈希值应该像CF一样长128个字符。
© www.soinside.com 2019 - 2024. All rights reserved.