Skip to main content

Python Project - 1 (Password Locker)

Hello reader, this is my first post on this blog. I created this blog for various purposes including
  • First and most importantly improve my coding
  • Help others to learn various concepts in programming
  •  To complete my hobby of blogging
So, I am starting various series simultaneously, hope I will able to continue them. In this "Python Project" series, I will create simple python projects and will give step by step procedure to do that. I think you should first try to complete code yourself, then if you get stuck anywhere, feel free to check steps, refer complete code or comment for more help.

Let's begin...

Idea and Need:

You probably have accounts on many different websites. It is a bad habit to have the same password and it is difficult to remember all passwords. So it is a good idea to use "Password Manager Software". So why not create it yourself? So let's see what steps you should follow...

Steps:

  1. We have to create a menu which has the option to save new password and to see the new password.
  2. While adding a new password, get account name for which we are saving the password and password itself.
  3. Decide data structure you want to use to save passwords.
  4. Soon you will realize that the passwords you are saving are destroyed once you exit the program...(You need file handling)
  5. Change above program so that you can implement in text file
  6. Now it is time to add encryption. Why? Because anyone can open the text file to see your account and passwords. Add any basic encryption and decryption method(create your own one instead of using some module).
  7. Finally, use "pyperclip" module, to copy the password to clipboard automatically and then clear clipboard after 10 seconds.
  8. Take help of google, stack overflow wherever needed instead of looking my code. 

Modules required:

  • pyperclip
  • json
  • time
  • sys
  • pathlib

What you will learn:

  • Basic loops and menu driven program
  • File handling in python
  • Encryption and decryption
  • copying data to the clipboard
  • Use of data structure

Code:

GitHub Link:

I have written very simple and well informative code. There are many places where you can reduce the size of code and optimise it.

I encourage you to fork and star the repository on GitHub and make improvements. I will surely consider to add them.

What Next:

You can add many other functions to the program:
  • Add GUI (using Tkinter or other modules)
  • Set master password
  • Create an executable file on windows
  • Apply conditions on input
  • Give tips to create good password in program
That's all for this project. Comment if any bugs or errors are present in the program. Comment any new ideas and yes, share this post so that others can learn something new.

Comments

Popular posts from this blog

WDS15 - Handle your Metadata

In the last short article we learned about: HTML iframe element to display webpage inside webpage Now in this article, we are going to see something which will not make the direct impact on how you are seeing your webpage but will do a lot of background work. So let's get started... In the very first article on HTML, while learning basic HTML page structure we divided HTML document into two main parts: head and body. This head contains metadata about HTML document which we write in the body of HTML. Ler's see how to write this metadata... HTML <meta> element <meta> element is used to specify about author of webpage, various tags for article, page description and many other things. Metadata is used by browsers to decide how to display content and search engines to classify web pages according to tags and keywords. HTML Character set A defined list of characters recognized by the computer hardware and software. Each character is represented by a num...

WDS8 - Use of Quotes and Comments

In the last article we learned following tags to enhance your HTML: <b> and <strong> tags <i> and <em> tags <small> <del> <mark> <ins> <sup> and <sub> tags Now let's move forward from styling and see some HTML elements so that we can write quotes in our documents comfortably. HTML <q> tag for Short Quotations This <q> tag defines a short quotation in HTML. This is mostly used for short inline quotations. Most of the browsers insert quotation marks(") before and after the content in quotation tags. HTML <blockquote> tag for Large Quotations This <blockquote> tag defines large quotations in HTML. Browsers usually indent the content inside <blockquote> tags. HTML <abbr> for Abbreviations HTML <abbr> tag defines an abbreviation. This tag requires one extra attribute called title . This attribute takes full form for that particular abbrev...