You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
53 lines
1.1 KiB
53 lines
1.1 KiB
<?php
|
|
|
|
namespace app\service\user;
|
|
|
|
use app\model\WechatUser;
|
|
use app\service\BaseService;
|
|
|
|
class UserService extends BaseService
|
|
{
|
|
|
|
/**
|
|
* 随机字符串,默认长度10
|
|
* @param int $num
|
|
* @return string
|
|
*/
|
|
public function setSalt(int $num = 10): string
|
|
{
|
|
$str = 'qwertyuiopasdfghjklzxcvbnm1234567890';
|
|
return substr(str_shuffle($str), 10, $num);
|
|
}
|
|
|
|
/**
|
|
* 密码加密
|
|
* @param string $pwd
|
|
* @param string $salt
|
|
* @return string
|
|
*/
|
|
public function setPassword(string $pwd, string $salt): string
|
|
{
|
|
return md5(md5($pwd . $salt) . $salt);
|
|
}
|
|
|
|
/**
|
|
* 添加、修改密码
|
|
* @param $id
|
|
* @param $password
|
|
* @return bool
|
|
*/
|
|
public function savePassword($id, $password)
|
|
{
|
|
$salt = $this->setSalt();
|
|
|
|
$savePassword = $this->setPassword($password, $salt);
|
|
|
|
$data = [
|
|
'password' => $savePassword,
|
|
'salt' => $salt
|
|
];
|
|
|
|
$User = new WechatUser();
|
|
return $User->where('id', $id)->save($data);
|
|
}
|
|
}
|
|
|