PHP 中的 Sitefinity 密码哈希
Sitefinity Password Hash in PHP
我正在从事一个需要使用客户现有的 Sitefinity 数据库进行用户登录的项目。我只能在 PHP 中构建,并尝试对 PHP 中的密码进行哈希处理,并将它们与 Sitefinity 数据库中的哈希密码进行比较。
我遇到了,,它解释了 Sitefinity 如何进行哈希处理,这对入门很有帮助,但我不完全理解它,因为它显然写在 ASP.我需要找到是否有 PHP 等价物以及它是如何工作的。
我在网上搜索了一些指导,但到目前为止还没有成功。任何帮助将不胜感激。
在 PHP 中,用于检查 Sitefinity 哈希的代码如下所示:
<?php
//clear password
$passwordInput = "password";
//from sf_users column [salt]
$userSalt = "2E1C1CEF99E6EF066E9C803974D17419";
//from sf_users column [passwd]
$userPassword = "G1MJiJw3zpBVdZBKViZUfEvTpZA=";
//from App_Data\Sitefinity\Configuration\SecurityConfig.config attribute "validationKey"
$validationKey = "24152EC6E594970CBEA98B5C10D878D65EF73964AAF44F1CCD3E0FBE95A5F2EFC89C0124B9B025581D38ED6EC846453249FD998ABDAE9453302B8BAB97BA1D0C";
$str = $passwordInput.$userSalt;
$utfString = mb_convert_encoding($str, "UTF-16LE");
echo $userPassword == base64_encode(hash_hmac('sha1', $utfString, hex2bin($validationKey), true))? 'true' : 'false';
?>
我正在从事一个需要使用客户现有的 Sitefinity 数据库进行用户登录的项目。我只能在 PHP 中构建,并尝试对 PHP 中的密码进行哈希处理,并将它们与 Sitefinity 数据库中的哈希密码进行比较。
我遇到了,
我在网上搜索了一些指导,但到目前为止还没有成功。任何帮助将不胜感激。
在 PHP 中,用于检查 Sitefinity 哈希的代码如下所示:
<?php
//clear password
$passwordInput = "password";
//from sf_users column [salt]
$userSalt = "2E1C1CEF99E6EF066E9C803974D17419";
//from sf_users column [passwd]
$userPassword = "G1MJiJw3zpBVdZBKViZUfEvTpZA=";
//from App_Data\Sitefinity\Configuration\SecurityConfig.config attribute "validationKey"
$validationKey = "24152EC6E594970CBEA98B5C10D878D65EF73964AAF44F1CCD3E0FBE95A5F2EFC89C0124B9B025581D38ED6EC846453249FD998ABDAE9453302B8BAB97BA1D0C";
$str = $passwordInput.$userSalt;
$utfString = mb_convert_encoding($str, "UTF-16LE");
echo $userPassword == base64_encode(hash_hmac('sha1', $utfString, hex2bin($validationKey), true))? 'true' : 'false';
?>