code: public function getCode($secret, $time = null)
      {
          if (!$time) {
              $time = floor(time() / 30);
          }
  
          $base32 = new FixedBitNotation(5, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ234567', true, true);
          $secret = $base32->decode($secret);
  
          $time = pack('N', $time);
          $time = str_pad($time, 8, chr(0), STR_PAD_LEFT);
  
          $hash = hash_hmac('sha1', $time, $secret, true);
          $offset = ord(substr($hash, -1));
          $offset = $offset & 0xF;
  
          $truncatedHash = $this->hashToInt($hash, $offset) & 0x7FFFFFFF;
          $pinValue = str_pad($truncatedHash % $this->pinModulo, 6, '0', STR_PAD_LEFT);
  
          return $pinValue;
      }
docs: @param $secret
  @param null $time
  
  @return string