code: def long_to_bytes(n, blocksize=0):
      
      # after much testing, this algorithm was deemed to be the fastest
      s = b''
      if USING_PYTHON2:
          n = long(n)  # noqa
      pack = struct.pack
      while n > 0:
          s = pack(b'>I', n & 0xffffffff) + s
          n = n >> 32
      # strip off leading zeros
      for i in range(len(s)):
          if s[i] != b'\000'[0]:
              break
      else:
          # only happens when n == 0
          s = b'\000'
          i = 0
      s = s[i:]
      # add back some pad bytes.  this could be done more efficiently w.r.t. the
      # de-padding being done above, but sigh...
      if blocksize > 0 and len(s) % blocksize:
          s = (blocksize - len(s) % blocksize) * b'\000' + s
      return s
docs: long_to_bytes(n:long, blocksize:int) : string
      Convert a long integer to a byte string.
  
      If optional blocksize is given and greater than zero, pad the front of the
      byte string with binary zeros so that the length is a multiple of
      blocksize.