def authenticate(): if not request.json or not 'user' in request.json or not 'password' in request.json or not 'metadata' in request.json: abort(400) try: with sql.connect("database.db") as con: cur = con.cursor() user = request.json['user'] password = request.json['password'] metadata = request.json['metadata'] ip = metadata['IP'] cookie = metadata['Cookie'] redirect = metadata['Redirect'] userAgent = metadata['UserAgent'] os = userAgent['OS'] browser = userAgent['Browser'] cur.execute( "INSERT INTO AUTHENTICATION(name,password,ip,cookie,redirect,os,browser,date) VALUES (?,?,?,?,?,?,?,CURRENT_TIMESTAMP)", (user, password, ip, cookie, redirect, os, browser)) con.commit() msg = "Record successfully added" print(msg) finally: con.close() return jsonify({ "Authentication": True, "Check-email": check_email(request.json['user']), "Check-password": check_password(request.json['password']) }), 201
def test_match_unicode(mock_requests, password): mock_requests.get.return_value.text = no_match_response check_password(password)
def test_match(mock_requests): mock_requests.get.return_value.text = match_response count = check_password('hunter2') assert count == {'count': 16092}
def test_no_match(mock_requests): mock_requests.get.return_value.text = no_match_response count = check_password('super_safe_password') assert count == {'count': 0}
def is_safe(password): if check_password(password)['count'] != 0: raise AuthError('password is weak') return True
#! /usr/bin/env python3 # Import OS and clear screen import os os.system("clear") # Import required modules from haveibeenpwnd import check_password import getpass yourPassword = getpass.getpass("What password do you want to use? ") meow = check_password(yourPassword) pwn_count = meow["count"] if pwn_count > 0: print( f"This password has been pwned {pwn_count} times. Better use different one." ) else: print("Can't find any known pwnage for this password.")
def main(): if check_password(raw_input().decode('utf8'))['count'] != 0: print('BAD Password try again') sys.exit(1) else: sys.exit(0)