code: public function createSessionCard()
      {
          $ua = $this->signInfo->getHeader('user-agent');
          $ua = empty($ua) ? microtime() : $ua;
          $session_card = strtolower(substr(md5(uniqid(mt_rand(), true)), 15, 4) . '-' . Sign::createGuid() . '-' . substr(md5($ua), 15, 8));
          $session_card = str_replace(substr($session_card, 13, 6), '-5555-', $session_card);
          return $session_card;
      }
docs: 生成session_card