简单粗暴更直接:

   /**
     * 自定义token
     * @param null $userId
     * @param null $roles
     * @param int $timeout
     * @return string
     */
    protected function setToken($userId = null, $roles = null, $timeout = 0) :string
    {
        $year = 1984;
        $time = time();
        return $roles.'.'.md5($time).'.'.$year + $userId.'.'.$time.'.'. $timeout;
    }