DEV Community

p.1 My attempt at building a Password Manager

DaNeil C on September 10, 2019

For my final project as a Flatiron School student I decided I wanted to understand password managers better and built a basic one. It will be a ver...
Collapse
 
raddevus profile image
raddevus • Edited

Great article! I wrote my own password creator too and I learned tons.
You can see mine in action in your web browser at : cyapass.com/js/cya.htm

It's entirely implemented in client-side JavaScript.
I started thinking about the problem and I thought, "Hey why not allow the user to draw their password?"

Mine does not save your password anywhere. Instead, it generates it every time.
The password is a SHA-256 hash of two things: 1) the pattern you draw 2) the site key that you provide.

My tag line is Never memorize, create or type a password again.

I've also written the app as a Windows Forms app, an iOS app, an Android app so you can run it from anywhere. Check it out and see what you think.
Thanks for writing up this really interesting article. There are few others who've done this so it is very cool to find a like-minded individual who wants to make password creation easier.

FYI - all source code for every platform is completely open source and available at my GitHub github.com/raddevus?tab=repositories
Just search my repos for CYaPass to see various platforms.

Collapse
 
phlash profile image
Phil Ashby • Edited

It turns out password managers are tricky things, and even well known tools have bugs: washingtonpost.com/technology/2019...

Attempting to create one has unique challenges & covers a lot of ground, as you have noted, a brave effort :)

An interesting thing that happens in the security community is actively applying Kirchoff's Principle - submitting designs & code for review and cryptanalysis by others to find and fix the inevitable bugs before they have serious consequences, those who don't do this are usually viewed with some suspicion: selling snake oil perhaps; hiding flaws or backdoors for others to exploit. I would encourage you to do the same if you can - show us the source and we can provide more feedback :)