| Path : /var/www/html/thb_loan_system/vendor/cartalyst/sentinel/src/Hashing/ |
|
B-Con CMD Config cPanel C-Rdp D-Log Info Jump Mass Ransom Symlink vHost Zone-H |
| Current File : //var/www/html/thb_loan_system/vendor/cartalyst/sentinel/src/Hashing/Hasher.php |
<?php
/*
* Part of the Sentinel package.
*
* NOTICE OF LICENSE
*
* Licensed under the 3-clause BSD License.
*
* This source file is subject to the 3-clause BSD License that is
* bundled with this package in the LICENSE file.
*
* @package Sentinel
* @version 6.0.0
* @author Cartalyst LLC
* @license BSD License (3-clause)
* @copyright (c) 2011-2022, Cartalyst LLC
* @link https://cartalyst.com
*/
namespace Cartalyst\Sentinel\Hashing;
trait Hasher
{
/**
* The salt length.
*
* @var int
*/
protected $saltLength = 22;
/**
* Create a random string for a salt.
*
* @return string
*/
protected function createSalt(): string
{
$pool = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ./';
$max = strlen($pool) - 1;
$salt = '';
for ($i = 0; $i < $this->saltLength; $i++) {
$salt .= $pool[random_int(0, $max)];
}
return $salt;
}
/**
* Compares two strings $a and $b in length-constant time.
*
* @param string $a
* @param string $b
*
* @return bool
*/
protected function slowEquals(string $a, string $b): bool
{
$diff = strlen($a) ^ strlen($b);
for ($i = 0; $i < strlen($a) && $i < strlen($b); $i++) {
$diff |= ord($a[$i]) ^ ord($b[$i]);
}
return $diff === 0;
}
}