perf: 修复随机 error

pull/11656/head
ibuler 2023-09-19 18:17:38 +08:00 committed by Bryan
parent 31d2bdd3bb
commit 42337f0d00
2 changed files with 11 additions and 15 deletions

View File

@ -1,10 +1,9 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# #
import struct
import random import random
import socket import socket
import string import string
import struct
string_punctuation = '!#$%&()*+,-.:;<=>?@[]^_~' string_punctuation = '!#$%&()*+,-.:;<=>?@[]^_~'
@ -19,6 +18,7 @@ def random_ip():
def random_string(length: int, lower=True, upper=True, digit=True, special_char=False): def random_string(length: int, lower=True, upper=True, digit=True, special_char=False):
random.seed()
args_names = ['lower', 'upper', 'digit', 'special_char'] args_names = ['lower', 'upper', 'digit', 'special_char']
args_values = [lower, upper, digit, special_char] args_values = [lower, upper, digit, special_char]
args_string = [string.ascii_lowercase, string.ascii_uppercase, string.digits, string_punctuation] args_string = [string.ascii_lowercase, string.ascii_uppercase, string.digits, string_punctuation]

View File

@ -1,30 +1,27 @@
#!/usr/bin/env python #!/usr/bin/env python
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# #
import uuid
import base64 import base64
import string
import random
import datetime import datetime
import uuid
from typing import Callable from typing import Callable
from django.db import models
from django.conf import settings from django.conf import settings
from django.utils import timezone
from django.core.cache import cache
from django.contrib.auth.models import AbstractUser
from django.contrib.auth.hashers import check_password from django.contrib.auth.hashers import check_password
from django.utils.translation import ugettext_lazy as _ from django.contrib.auth.models import AbstractUser
from django.core.cache import cache
from django.db import models
from django.shortcuts import reverse from django.shortcuts import reverse
from django.utils import timezone
from django.utils.module_loading import import_string from django.utils.module_loading import import_string
from django.utils.translation import ugettext_lazy as _
from orgs.utils import current_org
from orgs.models import Organization
from rbac.const import Scope
from common.db import fields, models as jms_models from common.db import fields, models as jms_models
from common.utils import ( from common.utils import (
date_expired_default, get_logger, lazyproperty, random_string, bulk_create_with_signal date_expired_default, get_logger, lazyproperty, random_string, bulk_create_with_signal
) )
from orgs.utils import current_org
from rbac.const import Scope
from ..signals import post_user_change_password, post_user_leave_org, pre_user_leave_org from ..signals import post_user_change_password, post_user_leave_org, pre_user_leave_org
__all__ = ['User', 'UserPasswordHistory'] __all__ = ['User', 'UserPasswordHistory']
@ -518,8 +515,7 @@ class TokenMixin:
return self.access_keys.first() return self.access_keys.first()
def generate_reset_token(self): def generate_reset_token(self):
letter = string.ascii_letters + string.digits token = random_string(50)
token = ''.join([random.choice(letter) for _ in range(50)])
self.set_cache(token) self.set_cache(token)
return token return token