python类mksalt()的实例源码

models.py 文件源码 项目:aiowing 作者: embali 项目源码 文件源码 阅读 23 收藏 0 点赞 0 评论 0
def update(cls, *args, **kwargs):
        """Update password hash on update"""

        if 'password' in kwargs.keys():
            kwargs['phash'] = crypt.crypt(kwargs.pop('password'),
                                          crypt.mksalt())

        return super().update(*args, **kwargs)
models.py 文件源码 项目:aiowing 作者: embali 项目源码 文件源码 阅读 23 收藏 0 点赞 0 评论 0
def create(cls, *args, **kwargs):
        """Update password hash on create"""

        if 'password' in kwargs.keys():
            kwargs['phash'] = crypt.crypt(kwargs.pop('password'),
                                          crypt.mksalt())

        return super().create(*args, **kwargs)
models.py 文件源码 项目:aiowing 作者: embali 项目源码 文件源码 阅读 27 收藏 0 点赞 0 评论 0
def save(self, *args, **kwargs):
        """Update password hash on save"""

        if getattr(self, 'password', None) is not None:
            self.phash = crypt.crypt(self.password, crypt.mksalt())
            del self.password

        return super().save(*args, **kwargs)
models.py 文件源码 项目:windseed 作者: embali 项目源码 文件源码 阅读 27 收藏 0 点赞 0 评论 0
def create(cls, *args, **kwargs):
        """
        Update password hash on create
        """
        if 'password' in kwargs.keys():
            kwargs['phash'] = crypt.crypt(kwargs.pop('password'),
                                          crypt.mksalt())

        return super().create(*args, **kwargs)
models.py 文件源码 项目:windseed 作者: embali 项目源码 文件源码 阅读 24 收藏 0 点赞 0 评论 0
def update(cls, *args, **kwargs):
        """
        Update password hash on update
        """
        if 'password' in kwargs.keys():
            kwargs['phash'] = crypt.crypt(kwargs.pop('password'),
                                          crypt.mksalt())

        return super().update(*args, **kwargs)
models.py 文件源码 项目:windseed 作者: embali 项目源码 文件源码 阅读 24 收藏 0 点赞 0 评论 0
def save(self, *args, **kwargs):
        """
        Update password hash on save
        """
        if getattr(self, 'password', None) is not None:
            self.phash = crypt.crypt(self.password, crypt.mksalt())
            del self.password

        return super().save(*args, **kwargs)
auth.py 文件源码 项目:varapp-backend-py 作者: varapp 项目源码 文件源码 阅读 22 收藏 0 点赞 0 评论 0
def create_user(username, password, firstname, lastname, email, phone, email_to_file=None):
    if not validate_username(username):
        return [None, "Wrong user name format (are allowed a-Z|0-9|.|-|_)"]
    if not validate_email(email):
        return [None, "Wrong email format"]
    if Users.objects.filter(username=username):
        logging.warning("Cannot create account: username {} already exists".format(email))
        return [None, "This username already exists"]
    if Users.objects.filter(email=email):
        logging.warning("Cannot create account: email {} already exists".format(email))
        return [None, "This email already exists"]
    person = People.objects.create(firstname=firstname, lastname=lastname, phone=phone, is_laboratory=0)
    role = Roles.objects.get(name=DEFAULT_ROLE)
    salt = crypt.mksalt(method=crypt.METHOD_SHA256)
    newuser = Users(username=username, password=crypt.crypt(password, salt),
                    salt=salt, email=email, person=person, role=role,
                    is_active=0, is_password_reset=0, code=utils.random_string())
    newuser.save()
    allow_access_to_demo(newuser)
    text = "Your account '{}' has been created. ".format(username) + \
        "It will be validated by an admin shortly. You will receive an email at this " + \
        "address when your account has been activated."
    html = text
    send_email(email, "New varapp account", text=text, html=html, tofile=email_to_file)
    send_email(settings.EMAIL_ADMIN, "Account for user {} awaits validation".format(username),
                     text='', html='', tofile=email_to_file)
    return [newuser, '']
srp.py 文件源码 项目:homekit_python 作者: jlusiardi 项目源码 文件源码 阅读 26 收藏 0 点赞 0 评论 0
def __init__(self, username: str, password: str):
        Srp.__init__(self)
        self.username = username
        self.password = password
        self.salt = None
        self.a = gmpy2.mpz(int(binascii.hexlify(crypt.mksalt(crypt.METHOD_SHA512)[3:].encode()), 16))
        self.A = pow(self.g, self.a, self.n)
        self.B = None
srp.py 文件源码 项目:homekit_python 作者: jlusiardi 项目源码 文件源码 阅读 23 收藏 0 点赞 0 评论 0
def __init__(self, username, password):
        Srp.__init__(self)
        self.username = username
        self.salt = SrpServer._create_salt()
        self.password = password
        self.verifier = self._get_verifier()
        salt = crypt.mksalt(crypt.METHOD_SHA256)[3:].encode()
        salt_b = binascii.hexlify(salt)
        self.b = gmpy2.mpz(int(salt_b, 16))
        k = self._calculate_k()
        g_b = pow(self.g, self.b, self.n)
        self.B = (k * self.verifier + g_b) % self.n

        self.A = None
srp.py 文件源码 项目:homekit_python 作者: jlusiardi 项目源码 文件源码 阅读 20 收藏 0 点赞 0 评论 0
def _create_salt() -> gmpy2.mpz:
        salt = crypt.mksalt(crypt.METHOD_SHA512)[3:]
        salt_b = salt.encode()
        salt_hex = binascii.hexlify(salt_b)
        salt_int = int(salt_hex, 16)
        assert len(salt) == 16
        return gmpy2.mpz(salt_int)


问题


面经


文章

微信
公众号

扫码关注公众号