Operate and perform simple os administration

Assignment Help Computer Engineering
Reference no: EM132929272

MN404 Fundamentals of Operating Systems and Programming - Melbourne Institute of Technology

Assessment - Simple Password Manager

Learning Outcome 1: Describe the role of Operating Systems (OS) and its different subsystems in controlling computer hardware
Learning Outcome 2: Demonstrate competency in the use of a command line interface to operate and perform simple OS administration
Learning Outcome 3: Apply principles of abstraction and problem solving in an object-oriented programming language
Learning Outcome 4: Apply knowledge of programming constructs in developing computer programs
Learning Outcome 5: Create programs based on incremental development processes of designing, coding, testing and debugging.

Assignment Specification

The development of this application gives the students a help to understand the simple functions of a Password manager in the technical elements. It provides a good learning of how the passwords would be to generated, encrypted before saving, verified, validated etc. and code all the process. The assignment enables the student not only to learn the concept and importance of password manager and its functions but also to implement it for real-time applications. It enables the students to apply principles of abstraction and problem solving in an object-oriented programming language Further it empowers the students to apply knowledge of programming constructs in managing the passwords.

Assignment description:

A password manager is a software application that is used to store and manage the passwords that a user has for various online accounts and security features. Password managers store the passwords in an encrypted format and provide secure access to all the password information with the help of a master password. In this assignment the students shall code programs for few of the functions of password manager for eg. Password verification, encryption, validation etc. based on incremental development processes of designing, coding, testing and debugging.

The program will create a PWManager , that will manage a set of passwords for an individual.

PWManager: The PWManager will store the encrypted passwords (a string) in a dictionary form. Every password in the dictionary will be stored along with the purpose for eg. Gmail password: ER%$TDFR. The passwords will not be stored in plain text unencrypted! The PWManager has to perform following functions:

1. Read and VerifyPassword: this takes a string (a password) and returns true if it meets the following criteria:
• it is at least 10 characters' long
• string contains MIT
• it contains at least one digit
• it contains at least one of these four characters: # ? , ! Otherwise it returns false.

2. Encrypt: this takes a password (a string) and returns the encrypted form of the password. Note: there is no decrypt function (there is no need to decrypt passwords).

3. Display the original passwords and the encrypted passwords along with the purpose/application where the password is being used. (Hint: to display the original passwords, the encrypted password stored in the dictionary may be decrypted)
4. setNewPassword: takes a string (a proposed password). If it meets the criteria in verifyPassword, it encrypts the password and stores it in the member variable and returns true. Otherwise returns false.
5. ValidatePassword: takes a string (a password) and returns true if, once encrypted, it matches the encrypted string stored in the member variable. Else returns false.

Your program will use the following menu to prompt the user to test the implementation: Password Utilities:
A: Read and verify the password B: Encrypt and store
C: Display
D: Change Password
E: Validate the password. F: Quit
Enter your choice (A to F):

The menu should be processed in a loop, so the user may continue testing the password operations. The change Password option should ask the user to enter a new password, and explain the criteria for a valid password.
The main function should call the password manager to perform all the aforementioned five functions. It should output relevant messages indicating whether or not the functions are performed and if not the reasons for the same. For example, The Validate Password option should ask the user to input the password. Then the main function should call the password manager to validate the password, and then the main function should output whether or not the password was valid (matching the one stored by the password manager) or not. When the user selects F to quit, the program should save the encrypted password in the dictionary. (overwriting anything that was previously in the file).

In this assignment the students shall code the specified requirements on incremental development processes of designing, coding, testing and debugging. This assignment involves the following tasks:
1. To Design and develop an algorithm or a detailed flow chart to encrypt, verify and validate the password.
o The password shall constitute a set of printable characters on the keyboard.
o Any encryption algorithm such as substitution, reverse cipher etc. may be used by the students.
2. To convert the algorithm to a python program and test for various cases.
3. A GUI (optional) may be designed to feed in the password and display the encrypted messages.

Note: Generally, in a project you should write a program that contains an introductory docstring. This documentation should describe what the program will do (analysis) and how it will do it (design the program in the form of a pseudocode algorithm). Include suitable prompts for all inputs, and label all outputs appropriately. After you have coded a program, be sure to test it with a reasonable set of legitimate inputs.

The assignment report has to include the following sections:

• User Requirements:
o Include all the user (assignment) requirements here.
o For example: the requirements of a password, key to encrypt, encryption method, etc...
• Analysis
Analysis often requires the programmer to learn some things about the problem domain and hat information the user will have to provide. Also, it should specify what the program is going to do. In this case the problem domain would be the logic used to verify, encrypt and validate the password.

• Design:
The design phase has to describe how the program is going to do the desired task. This usually involves writing an algorithm or a flow chart in fact, algorithms are more often written in a somewhat stylized version of English called pseudocode.
Although there are no precise rules governing the syntax of pseudocode, in your pseudocode you should strive to describe the essential elements of the program in a clear and concise manner. Note that this pseudocode closely resembles Python code, so the transition to the coding step should be straightforward.

• Implementation Phase:
In this phase the complete code in python without any syntax and semantic errors must be completed. The complete code with proper indentation has to be pasted here along with sample inputs and outputs.

• Testing: Only thorough testing can build confidence that a program is working correctly. Testing is a deliberate process that requires some planning and discipline on the programmer's part. It would be much easier to turn the program in after the first successful run to meet a deadline or to move on to the next assignment. But your grade, your job, or people's lives might be affected by the slipshod testing of software.

Attachment:- Simple Password Manager.rar

Reference no: EM132929272

Questions Cloud

What are some future trends in public health : What are some future trends in public health? Is the current health care system prepared for them?
What is a good customer service : Question 1: What is a good customer service?
Determining muzzle-to-target distance : What are the characteristics that might exist or not exist for determining the muzzle-to-target distance?
Mission statement and current organizational initiative : Select a specific health care organization and identify its mission statement and a current organizational initiative.
Operate and perform simple os administration : Demonstrate competency in the use of a command line interface to operate and perform simple OS administration and Create programs based on incremental
Find the be dollar volume of sales : XYZ company's cost function for the next four months is C = 500,000 + 5Q A. Find the BE dollar volume of sales if the selling price is br. 6 / unit
Allied health community media : Read the Home Care scenario located in the Allied Health Community media, located in the study materials.
What is parallel structure model in management : What is parallel structure model in management?
Calculate annual depreciation for the five-year life : Calculate annual depreciation for the five-year life of the equipment according to MACRS. The company uses the half-year convention for tax reporting purposes

Reviews

Write a Review

Computer Engineering Questions & Answers

  Explain the concept of inheritance and polymorphism

Describe whether or not there are sometimes when you can use an overloaded function, rather than polymorphism.

  How to get the large constant in a register

Write the LEGv8 assembly for the following code snippet. One trick is to figure out how to get the large constant in a register when the ADDI instruction only.

  A statement of why you believe this is a great example

Post a link to your best Kitsch example and a statement of why you believe this is a great example.

  Write some code that asks the user to enter an integer

Write some code that asks the user to enter an integer via the keyboard, use that integer to set the length of an array.

  Describe and discuss at least two backup strategies

Describe and discuss at least two backup strategies. Discuss the use of cloud backup strategies, as well? The response must be typed, single spaced, must be in.

  What are the characteristics of the adt queue

What are the characteristics of the ADT queue? Which of the following is true of stacks and queues? A stack is a last-in, first-out structure.

  Produce a state transition diagram

Produce a state transition diagram

  Explain cia security concepts as related to operating system

Describe the CIA security concepts as related to operating systems. (Confidentiality, Integrity, Authentication, Authorization, and Availability.)

  How would you build a csirt

How would you build a CSIRT? What are the components to building an effective team? Please write discussion of 250-300 words.

  Implement programs in java

CSE1OOF/4OOF- to design programs that conform to given specifications and to practise combining multiple classes and methods into a whole program.

  Construct the tables in mysql or mariadb from logical design

Using the MySQL Workbench, or MariaDB 's HeidiSQL , to construct the tables in MySQL or MariaDB from the logical database design from your normalized ERD.

  What role do users have in the development phase

What advantages does commercial off-the-shelf software provide over custom software? What role do users have in the development phase and integration phase for information systems

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd