https://github.com/textbook/impasse
Generate moderately secure passwords
https://github.com/textbook/impasse
Last synced: about 1 year ago
JSON representation
Generate moderately secure passwords
- Host: GitHub
- URL: https://github.com/textbook/impasse
- Owner: textbook
- License: isc
- Created: 2019-10-15T11:34:02.000Z (almost 7 years ago)
- Default Branch: main
- Last Pushed: 2023-04-24T22:46:10.000Z (about 3 years ago)
- Last Synced: 2024-04-11T15:43:10.238Z (over 2 years ago)
- Language: JavaScript
- Homepage: https://impasse.herokuapp.com/
- Size: 16.2 MB
- Stars: 2
- Watchers: 3
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Impasse
[](https://github.com/textbook/impasse/actions)
[](https://hub.docker.com/r/textbook/impasse/)
Generate moderately secure passwords
## What do you mean "moderately"?
Impasse generates passwords in the format: `${word1}${number}${word2}${symbol}`. The valid symbols are `!@#$%^&*` and
the default settings are:
- `number` has two digits; and
- `word1` and `word2` are both 8-10 letters long (and must be different).
This gives a password length of between 19 and 23 characters, and a pool of 44 characters (26 letters, 10 digits, 8
symbols). Naively that implies an entropy between 103.73 and 125.57. However there are 117,583 words in the dataset
with 8-10 letters, giving an entropy of only 43.33, equivalent to a password length of 8 with the same character pool.
## Documentation
See API documentation at https://impasse.herokuapp.com/docs.
## Scripts
Various scripts are provided in the package file, but many are helpers for other scripts; here are the ones you'll
commonly use:
- `dev`: starts the frontend and backend in dev mode, with file watching (note that the backend runs on port 3100, and
the frontend is proxied to it).
- `docker`: builds and runs the app in a Docker container.
- `e2e`: builds and starts the app in production mode and runs the Cypress tests against it.
- `e2e:dev`: opens Cypress for local dev, instead of running it in the background. Doesn't start the app.
- `e2e:docker`: builds and starts the app in a Docker container and runs the Cypress tests against it.
- `lint`: runs ESLint against all the JavaScript in the project.
- `serve`: builds and starts the app in production mode locally.
- `ship`: runs `lint`, then `test`, then `e2e`; ideal before a `git push`.
- `test`: runs the Jest unit and integration tests.