如何解决烧瓶密码复杂度检查器
我需要在flask用户注册表上检查密码的复杂性。我考虑过使用password_strength python库,但并没有取得太大的成功。我只需要检查以确保密码符合以下条件即可:
最少12个字符 至少1个UC 至少1 LC 至少1个数字 至少1个符号
这是我在Flask中的登录注册代码:
@auth.route('/signup',methods=['POST'])
def signup_post():
email = request.form.get('email')
name = request.form.get('name')
password = request.form.get('password')
# if re.match(r"^(?=.*[\d])(?=.*[A-Z])(?=.*[a-z])(?=.*[@#$])[\w\d@#$]{6,12}$",password):
user = User.query.filter_by(email=email).first() # check to see if user already exists
if user: # if a user is found,we want to redirect back to signup page so user can try again
flash('email address already exists')
return redirect(url_for('auth.signup'))
new_user = User(email=email,name=name,password=generate_password_hash(password,method='sha256'))
# add the new user to the database
db.session.add(new_user)
db.session.commit()
return redirect(url_for('auth.login'))
如您所见,我正在考虑使用正则表达式来执行此任务,但是我不确定如何告知用户密码不符合复杂性要求,并再次提示您输入更安全的密码。谢谢
解决方法
最好的方法是使用正则表达式搜索功能,该功能返回密码复杂性中的错误。看看this。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。