OwlCyberSecurity - MANAGER
Edit File: 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 2.0.18 * @author Cartalyst LLC * @license BSD License (3-clause) * @copyright (c) 2011-2019, Cartalyst LLC * @link http://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() { $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 boolean */ protected function slowEquals($a, $b) { $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; } }