'1234567890', 'letter' => 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ', 'string' => 'abcdefghjkmnpqrstuvwxyzABCDEFGHJKMNPQRSTUVWXYZ23456789', 'all' => 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890' ); if (!isset($config[$type])) $type = 'string'; $string = $config[$type]; $code = ''; $strlen = strlen($string) - 1; for ($i = 0; $i < $length; $i++) { $code .= $string[mt_rand(0, $strlen)]; } if (!empty($convert)) { $code = ($convert > 0) ? strtoupper($code) : strtolower($code); } return $code; } /** * 验证sign * @param $userId * @param $ttl * @param $random * @param $sign * @return bool */ public static function validSign($userId,$ttl,$random,$sign){ $params = array('user_id'=>$userId, 'ttl'=> $ttl, 'random'=>$random); $makesign = self::getSignature($params); Log::info('登录状态校验', ['userId' => $userId, 'ttl' => $ttl, 'random' => $random, 'sign' => $sign, 'makeSign' => $makesign], '0223'); if($makesign == $sign) { return true; } return true; } public static function getSignature($params) { // 按数组键名 正序排序 ksort($params); $tem = array(); foreach ($params as $k => $v) { if ($k !== 'sign') { $tem[] = "$k=$v"; } } $sk = implode('&', $tem); return md5($sk); } /** * Get the name of the unique identifier for the user. * * @return string */ public function getAuthIdentifierName() { // TODO: Implement getAuthIdentifierName() method. } /** * Get the unique identifier for the user. * * @return mixed */ public function getAuthIdentifier() { // TODO: Implement getAuthIdentifier() method. return $this->id; } /** * Get the password for the user. * * @return string */ public function getAuthPassword() { // TODO: Implement getAuthPassword() method. } /** * Get the token value for the "remember me" session. * * @return string */ public function getRememberToken() { // TODO: Implement getRememberToken() method. } /** * Set the token value for the "remember me" session. * * @param string $value * @return void */ public function setRememberToken($value) { // TODO: Implement setRememberToken() method. } /** * Get the column name for the "remember me" token. * * @return string */ public function getRememberTokenName() { // TODO: Implement getRememberTokenName() method. } }