在檢查Sitefinity哈希將PHP代碼如下所示:
<?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在它的數據庫中產生的匹配。你會知道是否有其他可能導致差異的變量? – Ian
我在Sitefinity實例上檢查了它,哈希值相等 –
我將確保驗證密鑰等是正確的,然後重試。感謝您的幫助。 – Ian