code: def _set_20_bytes_key(self, data):
          
          if data.startswith(b'h:'):
              new = binascii.unhexlify(data[2:])
          else:
              new = data
          if len(new) == 20:
              self.key = new[:16]
              self.uid = new[16:]
          else:
              raise yubico_exception.InputError('HMAC key must be exactly 20 bytes')
docs: Set a 20 bytes key. This is used in CHAL_HMAC and OATH_HOTP mode.
  
          Supply data as either a raw bytestring, or a hexlified bytestring prefixed by 'h:'.
          The result, after any hex decoding, must be 20 bytes.