1
This commit is contained in:
51
vendor/topthink/think-helper/src/hash/Bcrypt.php
vendored
Normal file
51
vendor/topthink/think-helper/src/hash/Bcrypt.php
vendored
Normal file
@@ -0,0 +1,51 @@
|
||||
<?php
|
||||
// +----------------------------------------------------------------------
|
||||
// | ThinkPHP [ WE CAN DO IT JUST THINK IT ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | Copyright (c) 2006-2015 http://thinkphp.cn All rights reserved.
|
||||
// +----------------------------------------------------------------------
|
||||
// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
|
||||
// +----------------------------------------------------------------------
|
||||
// | Author: yunwuxin <448901948@qq.com>
|
||||
// +----------------------------------------------------------------------
|
||||
namespace think\helper\hash;
|
||||
|
||||
class Bcrypt
|
||||
{
|
||||
|
||||
/**
|
||||
* Default crypt cost factor.
|
||||
*
|
||||
* @var int
|
||||
*/
|
||||
protected $rounds = 10;
|
||||
|
||||
public function make($value, array $options = [])
|
||||
{
|
||||
$cost = isset($options['rounds']) ? $options['rounds'] : $this->rounds;
|
||||
|
||||
$hash = password_hash($value, PASSWORD_BCRYPT, ['cost' => $cost]);
|
||||
|
||||
if ($hash === false) {
|
||||
throw new \RuntimeException('Bcrypt hashing not supported.');
|
||||
}
|
||||
|
||||
return $hash;
|
||||
}
|
||||
|
||||
public function check($value, $hashedValue, array $options = [])
|
||||
{
|
||||
if (strlen($hashedValue) === 0) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return password_verify($value, $hashedValue);
|
||||
}
|
||||
|
||||
public function setRounds($rounds)
|
||||
{
|
||||
$this->rounds = (int)$rounds;
|
||||
|
||||
return $this;
|
||||
}
|
||||
}
|
||||
42
vendor/topthink/think-helper/src/hash/Md5.php
vendored
Normal file
42
vendor/topthink/think-helper/src/hash/Md5.php
vendored
Normal file
@@ -0,0 +1,42 @@
|
||||
<?php
|
||||
// +----------------------------------------------------------------------
|
||||
// | ThinkPHP [ WE CAN DO IT JUST THINK IT ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | Copyright (c) 2006-2015 http://thinkphp.cn All rights reserved.
|
||||
// +----------------------------------------------------------------------
|
||||
// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
|
||||
// +----------------------------------------------------------------------
|
||||
// | Author: yunwuxin <448901948@qq.com>
|
||||
// +----------------------------------------------------------------------
|
||||
namespace think\helper\hash;
|
||||
|
||||
class Md5
|
||||
{
|
||||
|
||||
protected $salt = 'think';
|
||||
|
||||
public function make($value, array $options = [])
|
||||
{
|
||||
$salt = isset($options['salt']) ? $options['salt'] : $this->salt;
|
||||
|
||||
return md5(md5($value) . $salt);
|
||||
}
|
||||
|
||||
public function check($value, $hashedValue, array $options = [])
|
||||
{
|
||||
if (strlen($hashedValue) === 0) {
|
||||
return false;
|
||||
}
|
||||
|
||||
$salt = isset($options['salt']) ? $options['salt'] : $this->salt;
|
||||
|
||||
return md5(md5($value) . $salt) == $hashedValue;
|
||||
}
|
||||
|
||||
public function setSalt($salt)
|
||||
{
|
||||
$this->salt = (string)$salt;
|
||||
|
||||
return $this;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user