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

WDS85 - Animate the CSS(Part 3)

In the last two articles, we learned about animations in CSS and various ways to customize them with the help of iterations and animation delays. Now in today's article, we are going to learn more about them so that to customize them even more. Let's begin... Reverse Directions and Alternate Cycles The animation-direction property in CSS decides whether we want to play animation forward, backward or in alternate cycles. Following values are possible: normal - This is the default. Animation plays as normal(forward). reverse - The animation plays in reverse direction that is backward. alternate - The animation first plays forward and then backward. alternate-reverse - The animation first plays backward and then forward. Speed Curve of Animation Just like we used various ways to customize transitions in CSS some articles before, same functions can be used to change the speed of the animation. The animation-timing-function property specifies the speed curve ...

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...