docs: def set_password(self, password, encryptAlgo='MD5'):
  		"""Set a password for a GNTP Message
  
  		:param string password: Null to clear password
  		:param string encryptAlgo: Supports MD5, SHA1, SHA256, SHA512
  		"""
  		if not password:
  			self.info['encryptionAlgorithmID'] = None
  			self.info['keyHashAlgorithm'] = None
  			return
  
  		self.password = gntp.shim.b(password)
  		self.encryptAlgo = encryptAlgo.upper()
  
  		if not self.encryptAlgo in self.hash_algo:
  			raise errors.UnsupportedError('INVALID HASH "%s"' % self.encryptAlgo)
  
  		hashfunction = self.hash_algo.get(self.encryptAlgo)
  
  		password = password.encode('utf8')
  		seed = time.ctime().encode('utf8')
  		salt = hashfunction(seed).hexdigest()
  		saltHash = hashfunction(seed).digest()
  		keyBasis = password + saltHash
  		key = hashfunction(keyBasis).digest()
  		keyHash = hashfunction(key).hexdigest()
  
  		self.info['keyHashAlgorithmID'] = self.encryptAlgo
  		self.info['keyHash'] = keyHash.upper()
  		self.info['salt'] = salt.upper()