def __init__(self): prpCryptor = Prpcrypt() try: auth = AliyunAccessKey.objects.filter(is_enable=1) ak = prpCryptor.decrypt(auth[0].ak) secret = prpCryptor.decrypt(auth[0].secret) except Exception: logger.error(traceback.format_exc()) logger.error('没有找到有效的ak信息!') else: self.clt = client.AcsClient(ak=ak, secret=secret)
def mirage(request): """迁移加密的Instance数据,保留一定版本后删除""" try: pc = Prpcrypt() mg_user = Migrator(app="sql", model="Instance", field="user") mg_password = Migrator(app="sql", model="Instance", field="password") # 还原密码 for ins in Instance.objects.all(): # 忽略解密错误的数据(本身为异常数据) try: Instance(pk=ins.pk, password=pc.decrypt(ins.password)).save(update_fields=['password']) except: pass # 使用django-mirage-field重新加密 mg_user.encrypt() mg_password.encrypt() return JsonResponse({"msg": "ok"}) except Exception as msg: return JsonResponse({"msg": f"{msg}"})
def raw_secret(self): """ 返回明文secret str """ pc = Prpcrypt() # 初始化 return pc.decrypt(self.secret)
def raw_ak(self): """ 返回明文ak str """ pc = Prpcrypt() # 初始化 return pc.decrypt(self.ak)
def raw_password(self): """ 返回明文密码 str """ pc = Prpcrypt() # 初始化 return pc.decrypt(self.password)