Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

python3 (3a) Write a function, frequent, with one parameter, psw, a string. If psw is in a list of frequently used passwords ['password', '12345', 'qwerty',

python3

(3a) Write a function, frequent, with one parameter, psw, a string. If psw is in a list of frequently used passwords ['password', '12345', 'qwerty', 'letmein', 'trustno1', '000000', 'passw0rd'], frequent should return False; otherwise, return True. Be sure to include at least three good test cases in the docstring.

(3b) Password Protection SecuriCorp has recently been the victim of a number of security breaches. Internal analysis has determined that employees use simple passwords that are too easy to guess. You have been hired to write a password checking program. This program should contain a function passwordChecker which takes a password and returns one of the following security regulation codes: Passwords must be at least 5 characters long Passwords must contain at least one upper case letter Passwords must contain at least two numbers Passwords may not contain the characters "E" or "e" Passwords must include at least one non-alphanumeric character. A password may not be a frequently used password: 'password', '12345', 'qwerty', 'letmein', 'trustno1', '000000', 'passw0rd' Consultants suggest writing a separate function to test a password against each of these conditions.

These functions could then be called from the passwordChecker function. However, implementation details are left to you.

reference code:

# problem 1

# problem 1a

def checklen(astring, le):

'''

(str) -> Boolean

Returns True if length of astring is at

least le characters long, else False

>>> checklen('', 1)

False

>>> checklen('four', 5)

False

>>> checklen('check', 5)

True

>>> checklen('check6', 6)

True

'''

return len(astring) >= le

# problem 1b

# empty string needs to be treated

# as a separate condition

def is_nonalnum(astring):

'''

(str) -> Boolean

Returns True if astring contains at

least one non-alphanumeric character;

returns False otherwise.

>>> is_nonalnum('')

False

>>> is_nonalnum('abc123')

False

>>> is_nonalnum('#123')

True

'''

if len(astring) == 0:

return False

else:

return not(astring.isalnum())

# problem 1c

# if vs. elif - either is ok here

# return True must be outside of for-block!

def is_noEe(astring):

'''

(str) -> Boolean

Returns True if astring does NOT

contain characters 'E' or 'e';

returns False otherwise.

>>> is_noEe('')

True

>>> is_noEe('e')

False

>>> is_noEe('CHEM 101')

False

>>> is_noEe('abcd')

True

'''

if 'E' in astring:

return False

elif 'e' in astring:

return False

else:

return True

# prolbe 1c

# different algorithm/same solution

"""

def is_noEe(astring):

'''

(str) -> Boolean

Returns True if astring does NOT

contain characters 'E' or 'e';

returns False otherwise.

>>> is_noEe('')

True

>>> is_noEe('e')

False

>>> is_noEe('CHEM 101')

False

>>> is_noEe('abcd')

True

'''

lowere = 'e' in astring

uppere = 'E' in astring

return not(lowere or uppere)

"""

# problem 1d

def is_uc_alpha(astring):

'''

(str) -> Boolean

return True if any char in s is an

uppercase letter, otherwise return False

>>> is_uc_alpha('CIS122')

True

>>> is_uc_alpha('Ducks')

True

>>> is_uc_alpha('testing')

False

'''

for c in astring:

if c.isupper():

return True

return False

# problem 1e

def is_2numbers(astring):

'''

(str) -> Boolean

returns True if astring has at least two numbers,

otherwise return False

>>> is_2numbers('CIS122')

True

>>> is_2numbers('Ducks')

False

>>> is_2numbers('ABC-1')

False

'''

digits_ctr = 0

for c in astring:

if c.isdigit():

digits_ctr += 1

return digits_ctr >= 2

# problme 1f

def is_special_char(astring):

'''

(str) -> Boolean

returns True if string contains a

special character:!, @, #, $, %, ^, &

otherwise returns False

>>> is_special_char('CIS122')

False

>>> is_special_char('CIS-122')

False

>>> is_special_char('CIS122!')

True

'''

special = '!@#$%^&'

for c in astring:

if c in special:

return True

return False

doctest.testmod()

Write the code (passwordChecker function and auxiliary functions) and execute it for a sufficient number of test cases that SecuriCorp will be confident of their passwords.

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image_2

Step: 3

blur-text-image_3

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Database Security

Authors: Alfred Basta, Melissa Zgola

1st Edition

1435453905, 978-1435453906

More Books

Students also viewed these Databases questions

Question

2 What are the advantages and disadvantages of job evaluation?

Answered: 1 week ago

Question

1 Name three approaches to job evaluation.

Answered: 1 week ago