- Модуль: main
- Путь к файлу: ~/bitrix/modules/main/lib/security/password.php
- Класс: BitrixMainSecurityPassword
- Вызов: Password::equals
static function equals($hash, $password, $original = true): bool
{
if($original)
{
$salt = "";
$hashLength = strlen($hash);
if($hashLength > 100)
{
//new SHA-512 method, format is $6${salt}${hash}
$salt = substr($hash, 3, 16);
$password = static::hash($password, $salt);
}
else
{
if($hashLength > 32)
{
//old salt+md5 method, format is {salt}{hash}
$salt = substr($hash, 0, $hashLength - 32);
}
//else very old format {hash} without a salt
$password = $salt.md5($salt.$password);
}
}
return hash_equals($hash, $password);
}