def new_account_hostname(self): ''' 返回随机生成的hostname(唯一) ''' api_hostname = createRandomFields(8) while len(Account.objects.filter(api_hostname=api_hostname)) > 0: api_hostname = createRandomFields(8) return api_hostname
def new_device(self, api_hostname): ''' 返回一个参数字典,包含随机生成的identifer(唯一) ''' identifer = createRandomFields(20) while len(Device.objects.filter(identifer=identifer)) > 0: identifer = createRandomFields(20) ret = {'identifer': identifer, 'seed': pyotp.random_base32()} return ret
def new_group_key(self, api_hostname): ''' 返回一个参数字典,包含随机生成的gKey(唯一) ''' gKey = createRandomFields(20) while len(self.objects.filter(gKey=gKey)) > 0: gKey = createRandomFields(20) ret = { 'gKey': gKey, } return ret
def new_user_key(self): ''' 返回一个参数字典,包含随机生成的uKey(唯一) ''' uKey = createRandomFields(20) while len(User.objects.filter(uKey=uKey)) > 0: uKey = createRandomFields(20) ret = { 'uKey': uKey, } return ret
def new_app(self, api_hostname): ''' 返回一个参数字典,包含随机生成的sKey,iKey(唯一),凭借iKey可唯一确定application ''' sKey = createRandomFields(40) iKey = createRandomFields(20) while len(Application.objects.filter(iKey=iKey)) > 0: iKey = createRandomFields(20) ret = { 'sKey': sKey, 'iKey': iKey, } return ret
def pctest(request, api_hostname, identifer): key = createRandomFields(40) cache.set("device-%s-%s_pc_key" % (identifer, api_hostname), key, 60) url = "iscauth://%s-%s-%s" % (identifer, api_hostname, key) response = "<a href='%s'>link</a>" % url return HttpResponse(response)
def generate_aes_key(): return createRandomFields(32)