Git Product home page Git Product logo

sebastienrousseau / password-generator Goto Github PK

View Code? Open in Web Editor NEW
19.0 1.0 5.0 2.02 MB

A fast, simple, and powerful open-source utility tool for generating strong, unique, and random passwords. The Password Generator supports various types of passwords including base64-encoded, memorable, and complex strong passwords.

Home Page: https://password-generator.pro

License: MIT License

JavaScript 92.55% Makefile 7.45%
crypto cryptography dictionary dictionary-tools memorable-passphrases memorable-passwords passgen passgenerator password password-generator

password-generator's Introduction

Password Generator Logo

Password Generator

A fast, simple, and powerful open-source utility tool for generating strong, unique, and random passwords. The Password Generator supports various types of passwords including base64-encoded, memorable, and complex strong passwords. It is designed to be a versatile tool for both personal and enterprise needs, ensuring that all users have access to high-security password options. Password Generator is free to use as a secure password generator on any computer, phone, or tablet.

Getting Started Download the Password Generator Tool v1.1.3

Codacy Badge npm Release Notes npm License: MIT FOSSA Status

Features

  • Base64 Passwords: Generate passwords with base64 encoding for a balance of security and usability.
  • Memorable Passwords: Create passwords using a combination of memorable words, making them easier to remember while maintaining security.
  • Strong Passwords: Produce highly secure passwords with customizable length and complexity to meet the highest security standards.
  • Customizable Options: Specify password length, complexity, and word separators to tailor your password to your security needs.
  • CLI Support: Use the Password Generator directly from your terminal for quick and easy access.
  • Secure: Built with security as a priority, using cryptographic functions to ensure password strength.

Installation

From NPM or YARN

To install the Password Generator Tool, use either npm or yarn as follows:

  • npm i @sebastienrousseau/password-generator
  • yarn add @sebastienrousseau/password-generator

From GitHub

Clone the main repository to get all source files including build scripts: git clone https://github.com/sebastienrousseau/password-generator.git

What's included

Within the download you'll find all the password generator source files grouped into the dist folder.

You'll see something like this:

.
├── COPYRIGHT
├── LICENSE
├── Makefile
├── README.md
├── Report.txt
├── index.js
├── package.json
└── src
    ├── dictionaries
    │   ├── adjectives.json
    │   ├── adverbs.json
    │   ├── animals.json
    │   ├── cars.json
    │   ├── cities.json
    │   ├── common.json
    │   ├── countries.json
    │   ├── dinosaurs.json
    │   ├── emoji.json
    │   ├── encouraging.json
    │   ├── ergative.json
    │   ├── fruits.json
    │   ├── gemstones.json
    │   ├── hazards.json
    │   ├── instruments.json
    │   ├── lovecraft.json
    │   ├── metals.json
    │   ├── music.json
    │   ├── nouns.json
    │   ├── prepositions.json
    │   ├── shakespeare.json
    │   ├── sports.json
    │   ├── strange.json
    │   ├── vegetables.json
    │   └── winds.json
    ├── lib
    │   ├── base64-password.js
    │   ├── memorable-password.js
    │   └── strong-password.js
    └── utils
        ├── README.md
        ├── randomConsonant.js
        ├── randomNumber.js
        ├── randomSyllable.js
        ├── randomVowel.js
        ├── toCamelCase
        │   ├── README.md
        │   └── toCamelCase.js
        ├── toCharArray
        │   ├── README.md
        │   └── toCharArray.js
        ├── toKebabCase
        │   ├── README.md
        │   └── toKebabCase.js
        ├── toSnakeCase
        │   ├── README.md
        │   └── toSnakeCase.js
        └── toTitleCase
            ├── README.md
            └── toTitleCase.js

9 directories, 50 files

Usage

To generate a password, you can call the Password Generator with the desired type and options. Below are examples of how to generate each type of password:

From the CLI

node .

Displays the following help menu

Usage: password-generator [options]

A fast, simple and powerful open-source utility tool for generating strong, unique and random passwords

Options:
  -v, --version              output the current version
  -t, --type <type>          specify a password type (default: "base64, memorable or strong")
  -l, --length <numbers>     specify a length for each iteration
  -i, --iteration <numbers>  specify a number of iteration
  -s, --separator <char>     specify a character for the separator
  -h, --help                 display help for command

From Node.js

var generatePassword = require('password-generator');

From the Browser

<script src="<https://raw.githubusercontent.com/sebastienrousseau/password-generator/master/src/bin/password-generator.js>" type="text/javascript"></script>

Password options

Base64 password

Generating a random base64 password using yarn

yarn start -t base64 -l 8 -i 4 -s -

Generating a random base64 password using node

node . -t base64 -l 8 -i 4 -s -

Generating a random base64 password calling the base64Password function

node dist/src/lib/base64-password.js -t base64 -l 8 -i 4 -s -

Strong password

Generating a random strong password using yarn

yarn start -t strong -l 8 -i 4 -s -

Generating a random strong password using node

node . -t strong -l 8 -i 4 -s -

Generating a random strong password calling the strongPassword function

node dist/src/lib/strong-password.js -t base64 -l 8 -i 4 -s -

Memorable password

Generating a random memorable password using yarn

yarn start -t memorable -i 4 -s -

Generating a random memorable password using node

node . -t memorable -i 4 -s -

Generating a random memorable password calling the memorablePassword function

node dist/src/lib/memorable-password.js -t base64  -i 4 -s -

Semantic Versioning Policy

For transparency into our release cycle and in striving to maintain backward compatibility, password-generator follows semantic versioning and ESLint's Semantic Versioning Policy.

Changelog

Contributing

Please read carefully through our Contributing Guidelines for further details on the process for submitting pull requests to us.

Development Tools

  • yarn build runs build.
  • yarn clean removes the coverage result of npm test command.
  • yarn coverage shows the coverage result of npm test command.
  • yarn lint run ESLint.
  • yarn lint-fix instructs ESLint to try to fix as many issues as possible..
  • yarn test runs tests and measures coverage.

Rules

We are committed to preserving and fostering a diverse, welcoming community. Please read our Code of Conduct.

Our Values

  • We believe perfection must consider everything.
  • We take our passion beyond code into our daily practices.
  • We are just obsessed about creating and delivering exceptional solutions.

License

This project is licensed under the MIT License - see the LICENSE file for details

Acknowledgements

The Password Generator Tool is beautifully crafted by these people and a bunch of awesome contributors

Contributors
Sebastien Rousseau
Sebastien Rousseau

Made with ❤ in London.

password-generator's People

Contributors

dependabot[bot] avatar sebastienrousseau avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

password-generator's Issues

Create demo website

  • Create web password generator
  • Ensure types and cli arguments are fully supported
  • Create documentation
  • Minimise code
  • Validate W3C compliance and accessibility guidelines

Fix UI buttons

**Is your feature request related to a problem?

  • UI buttons are not working

Describe the solution you'd like

  • Create a UI button collection to use between repos

Describe alternatives you've considered

  • N/A

Not working with bun runtime and bunx - Cannot find package "clipboardy"

Steps to reproduce with a docker container:

docker run -it --rm oven/bun bunx @sebastienrousseau/password-generator -t strong

We get

error: Cannot find package "clipboardy" from "/tmp/@sebastienrousseau/password-generator@latest--bunx/node_modules/@sebastienrousseau/password-generator/src/lib/strong-password.js"

Add unit tests

User Story

  • As a Developer,
  • I want to ensure add unit tests to my application,
  • So that I can increase quality.

Acceptance Criteria

  • Set up Mocha correctly,
  • Write more tests (in test/)
  • It should cover at least 60% of the code.

node . not working and need to install manually clipboardy

After installing the tool and request our first password we get : "Error generating password: Error [ERR_MODULE_NOT_FOUND]: Cannot find package 'clipboardy'"

This error can be resolved by installing manually clipboardy.

node . also displays nothing

Fix Dist

  • Update package.json configuration
  • Update Makefile
  • Update README.md

Memorable Password failing on v1.0.7

Steps to reproduce

  • Run password-generator -t memorable -i 4 -s - after install
  • Stack error is below:
node:internal/process/promises:288
            triggerUncaughtException(err, true /* fromPromise */);
            ^

[Error: ENOENT: no such file or directory, open '/Users/seb/src/dictionaries/common.json'] {
  errno: -2,
  code: 'ENOENT',
  syscall: 'open',
  path: '/Users/seb/src/dictionaries/common.json'
}

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.