re ( 정규식 연산) 모듈을 사용하여 파이썬에서 비밀번호 조건 검사
.search( pattern, string)
string 을 검사하여 pattern 에 들어가는 정규식과 일치하면 일치 객체 반환 (일치객체는 항상 True를 가짐), 일치하지 않으면 None 을 반환 합니다
이것을 이용하여 정규표현식을 파이썬에서 구현하여 변경될 새비밀번호가 유효한지를 검사하게 하여 구현 함
if old == user_pw :
if new_receive == new_2_receive:
if len(new_receive) < 8:
return jsonify({'result': 'fail','msg':'새 비밀번호가 8자 이하입니다.'})
elif re.search('[0-9]',new_receive) is None:
return jsonify({'result': 'fail','msg':'숫자를 포함해주세요.'})
elif re.search('[a-z]',new_receive) is None:
return jsonify({'result': 'fail','msg':'영문 문자를 포함해주세요.'})
else:
pw_hash = hashlib.sha256(new_receive.encode('utf-8')).hexdigest()
db.user.update_one({'id':user_id},{'$set':{'pw': pw_hash}})
return jsonify({'result': 'success','msg':'비밀번호가 변경 되었습니다.'})
else:
return jsonify({'result': 'fail','msg':'새 비밀번호가 서로 맞지않습니다.'})
else:
return jsonify({'result': 'fail', 'msg':'비밀번호가 틀렸습니다.'})