web2py当我处于CRYPT状态时,我需要以编程方式更新密码字段

问题描述 投票:0回答:1

我正在使用web2py设计我的Law_firm管理应用程序,但是由于某些原因,我想能够以编程方式更新控制器中的密码,但是当我这样做时,它会显示为正常的未加密字符串,您可以读取该字符串。因此,由于我无法使用新的未加密密码登录,因此如何将CRYPT验证程序应用于更新,这是控制器中的代码小精灵。

record = db.auth_user(confirm.id)
            if record:
                new_password = password_generator(12, UPPER_ALPHANUM)
                record.update_record(password=new_password)

注意:password_generator(a,b)是我创建的全局函数,其中的一些模型在其中一个模型中会生成随机密码,而我必须使用该密码来更新现有密码。但是事实证明,当我检查数据库而不是得到类似这样的东西时>

pbkdf2(1000,20,sha512)$aee0b78b97611f11$56e6595198b550ef26b7d2b5ef6a507c0a3cf858

我最终得到了这个

D4SO0GSIK98W

而且我只是不能登录,除了它不安全之外,所以我该如何应用CRYPT验证程序,我相信这样既可以登录又可以安全,请不要使用内置的重置密码,因为这是不同的是我试图做一些事情来完成某些事情,甚至远非如此。

我正在使用web2py设计我的Law_firm管理应用程序,但是由于某些原因,我想能够以编程方式更新控制器中的密码,但是当我这样做时,它会显示为普通的未加密....

web2py
1个回答
0
投票

密码是通过密码字段的验证器(即其requires属性进行转换的,因此,将验证器应用于更新的最简单方法是使用.validate_and_update方法:

db(db.auth_user.id == record.id).validate_and_update(password=new_password)
© www.soinside.com 2019 - 2024. All rights reserved.