code: def enhex(d, separator=''):
      
  
      v = binascii.hexlify(d).decode('ascii')
      if separator:
          return separator.join(
              v[i:i+2]
              for i in range(0, len(v), 2)
          )
      else:
          return v
docs: Convert bytes to their hexadecimal representation, optionally joined by a
      given separator.
  
      Args:
          d(bytes): The data to convert to hexadecimal representation.
          separator(str): The separator to insert between hexadecimal tuples.
  
      Returns:
          str: The hexadecimal representation of ``d``.
  
      Examples:
          >>> from pwny import *
          >>> enhex(b'pwnypack')
          '70776e797061636b'
          >>> enhex(b'pwnypack', separator=' ')
          '70 77 6e 79 70 61 63 6b'