Code Monkey home page Code Monkey logo

passman's Introduction

PassMan

I advise that you do not use this software as it is considered unfit for purpose

This is a Proof of Concept deterministic PBKDF2 based javascript password manager inspired by the password manager located on SS64.com but with additional features and cryptographic updates.

A live example version can be found at https://phempshall.github.io/PassMan/passman.html however it is recommended you clone this git and configure the master seed rather than use the preconfigured live example version.

Features:
  • pbkdf2
    • configurable iteration count
    • configurable bit length
    • configurable master seed
  • custom seeds
  • session timeout
  • unique identicons
  • one-click copy-to-clipboard
  • configurable password length*
  • multiple outputs
    • hexidecimal
    • base64
    • base94
  • single self-contained html file

*lengths max: 160 (base94), 128 (hex), 88 (base64)

16 character password examples:

  • Hex: c9d3928f7a6b061f
  • Base64: 06sMPNDV3nwTWFTi
  • Base94: P66?|Q.L!cP=&Ot;

Installation

Clone this git and then see below for configuration.

Configuration

Configuration is done through the PassMan.config JSON object. You can edit the existing configuration within the <HEAD> of the passman.html file.

A basic, semi-self-documenting version is below for reference:

PassMan.config = {
	masterSeed : "some-random-seed-phrase", // will be converted to SHA256-HEX
	iterations : 10000, // pbkdf2 iteration count
	length : 512, // pbkdf2 bit length
	options : {
		sessionTimeout : true, // resets page after sessionDuration expires
		sessionDuration : 60, // time in seconds
	},
	db : [
		{
			category : "Category name 1",
			sites : [
				{
					name    : "Site 1",
					url     : "https://www.site1.com",
					seed    : "site1",
					length  : 16,
					output  : "base94"
				},
				{
					name    : "Site 2",
					url     : "https://www.site2.com",
					seed    : "site2",
					length  : 16,
					output  : "base64"
				},
			]
		},
		{
			category : "Category name 2",
			sites : [
				{
					name    : "Site",
					url     : "https://www.site.com",
					seed    : "site.com",
					length  : '', // leave empty for max length output
					output  : "hex"
				},
			]
		},
	]
};

Usage

Once configured (see above) run passman.html and simply input your master password. Then generate the relevant password for your chosen website by clicking on the green lock icon. Your password will appear for the website. Simply click within the password area and it will disappear while simultaneously copying the password to your clipboard for you.

License

PassMan
https://www.paulhempshall.com/io/PassMan/
Copyright (C) 2017 Paul Hempshall.

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.

https://opensource.org/licenses/GPL-3.0

Third-party Notices


Bitcoin Litecoin Dogecoin Dash Ethereum

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.