Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/amylloyd/password-generator


https://github.com/amylloyd/password-generator

Last synced: 8 days ago
JSON representation

Awesome Lists containing this project

README

        

# password-generator

## Description

My motivation for building this password generator was curiosity. I wanted to learn how password generators work. Understanding the possible parameters of a password generator enables me to see how they can be more effective.

The problem my password generator solves is how to create passwords that are unique to improve security. In one educational context, the school provided staff with new generated passwords regularly to improve security. Combining the password generator with regular password changes would heighten security further.

I have learnt about the use of Maths.random() as a tool for extracting random values from arrays. I have also learnt about the importance of decomposing the problem into the simplest path. The original path I chose wasn't easy because it involved putting all the userInput from the confirm boxes into an object and then having to filter and extract it. The tutor helped me refactor the (not-working), complicated code to a simpler path. This path took only the data needed (when confirm boxes were true) and concatenated straight into one array. Decomposing tasks into the simpler is challenging for me, however I can see that I must focus on exactly what data I need and avoid storing and working with unnecssary data without a purpose.

This experience makes me wonder more about the hacking of passwords and how this happens. I can see that the more possible characters included in a password increase the number of possibilities for a password enormously. This must make the password more difficult to hack because the program would have to loop through larger sets of data.

## Table of Contents (Optional)

If your README is long, add a table of contents to make it easy for users to find what they need.

- [Usage](#usage)
- [Credits](#credits)

## Usage
To use the password generator, go to this link: https://create-88.github.io/password-generator/

![password-generator](assets/images/password-generator.png)

Click on the red Generate Password button.

You will then answer:
- a prompt box to determine the number of characters in your password
- a series of confirm boxes determining which characters to include in the password

The password will be written in the box, at the position 'Your Secure Password'

## Credits

I received guidance from my TA about how to decompose the challenge into small steps.
I received support from AskBCS support to create the object when using my original path.
I received support from a tutor to refactor my complicated, not working code. Much of the code needed for the final simple code was found within my original work.

Online help was used for examples of how to write functions.
ChatGPT was used to provide me with how to use .include
W3 schools reference documents helped me with examples of the use of Maths functions and how to work with objects.