class MyClass: challenge = ‘’; def getChallenge(self): #生成32位的随机数“挑战”码 self.challenge = “”.join([random.choice(“0123456789abcdefghjijklmnopqrstuvwxyz”) for i in range(0,32)]) return self.challenge; def updateMsg(self, signature, name , address): #请求处理 message = name + address + self.challenge; #组合明文消息和“挑战”码 if hmac.new(key,message).hexdigest() != signature: #对比两者是否一致 return “Authen Failed! Forbidden !” else: return ‘Update success!’
server_object = MyClass() server = SimpleXMLRPCServer.SimpleXMLRPCServer((“0.0.0.0”, 8888)) server.register_instance(server_object) #注册RPC服务 print “Listening on port 8888” server.serve_forever()