$currtime, // 签发时间(时间戳) 'iss' => 'jwt_admin', // 签发者 'nbf' => $currtime + 2, // 在此时间之前不可用 (这里是2秒以内) 'exp' => strtotime('tomorrow'), //过期时间 到第二天凌晨 'openid' => $openid, 'session_key' => $session_key, ]; // 使用密钥和 HS256 算法对数据进行编码生成 JWT return JWT::encode($data, $jwtKey, 'HS256'); } /** * @description: 将手机号的倒数第 5 位到第 8 位替换成星号 * @param string $phoneNumber 完整的手机号 * @return string 处理后的手机号 */ protected function maskPhoneNumber($phoneNumber) { // 去掉手机号中的+号以便处理 $cleanPhoneNumber = str_replace('+', '', $phoneNumber); // 判断手机号长度(带国家区号和不带国家区号的情况) if (strlen($cleanPhoneNumber) > 11) { // 带国家区号的手机号 $maskedPhoneNumber = substr_replace($cleanPhoneNumber, '****', -8, 4); return '+' . $maskedPhoneNumber; } elseif (strlen($cleanPhoneNumber) === 11) { // 不带国家区号的手机号 return substr_replace($cleanPhoneNumber, '****', -8, 4); } else { // 非法手机号长度,返回原始号码 return $phoneNumber; } } }