我正在使用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管理应用程序,但是由于某些原因,我想能够以编程方式更新控制器中的密码,但是当我这样做时,它会显示为普通的未加密....
密码是通过密码字段的验证器(即其requires
属性进行转换的,因此,将验证器应用于更新的最简单方法是使用.validate_and_update
方法:
db(db.auth_user.id == record.id).validate_and_update(password=new_password)