Home  >  Article  >  Web Front-end  >  Build a Password Generator Website

Build a Password Generator Website

王林
王林Original
2024-08-25 20:30:33971browse

Build a Password Generator Website

Introduction

Hello, developers! I'm excited to present my latest project: a Password Generator. This tool is designed to help you create secure and random passwords with ease. Whether you need strong passwords for your online accounts or want to practice your JavaScript skills, this Password Generator is a great addition to your toolkit.

Project Overview

The Password Generator is a web-based application that allows users to generate passwords with various configurations. You can customize the password length and include or exclude specific character types like lowercase letters, uppercase letters, numbers, and symbols. This project showcases how to build a dynamic password generator using JavaScript, coupled with a clean and user-friendly interface built with HTML and CSS.

Features

  • Customizable Password Length: Adjust the length of the generated password using a slider.
  • Character Type Selection: Choose which types of characters (lowercase, uppercase, numbers, symbols) to include in the password.
  • Generate and Copy: Generate a random password and easily copy it to your clipboard.

Technologies Used

  • HTML: Provides the structure and layout for the Password Generator.
  • CSS: Styles the interface, ensuring a modern and responsive design.
  • JavaScript: Handles the password generation logic, including user interactions and password copying.

Project Structure

Here's an overview of the project structure:

Password-Generator/
├── index.html
├── style.css
└── script.js
  • index.html: Contains the HTML structure for the Password Generator.
  • style.css: Includes CSS styles to create an attractive and responsive design.
  • script.js: Manages the password generation functionality and user interactions.

Installation

To get started with the project, follow these steps:

  1. Clone the repository:

    git clone https://github.com/abhishekgurjar-in/Password-Generator.git
    
  2. Open the project directory:

    cd Password-Generator
    
  3. Run the project:

    • Open the index.html file in a web browser to use the Password Generator.

Usage

  1. Open the website in a web browser.
  2. Adjust the password length using the slider.
  3. Select or deselect the types of characters you want to include.
  4. Generate a password by clicking the "Generate Password" button.
  5. Copy the password to your clipboard by clicking the copy icon.

Code Explanation

HTML

The index.html file defines the structure of the Password Generator, including the input fields, controls, and the display area. Here’s a snippet:

8b05045a5be5764f313ed5b9168a17e6
49099650ebdc5f3125501fa170048923
  93f0f5c25f18dab9d176bd4f6de5d30e
    7c8d9f814bcad6a1d7abe4eda5f773e5
    acd8feeb3a0ea7477b979779de32785a
    26faf3d1af674280d03ba217d87e9421
    af75c476cdb7e6c074ca6da9b40841de
    d8503bdefe6992dd59b651156c1a80eb
    90392ec4442ad9ff612213ec639da4832cacc6d41bbb37262a98f745aa00fbf0
    b2386ffb911b14667cb8f0f91ea547a7Password Generator6e916e0f7d1e588d4f442bf645aedb2f
  9c3bca370b5104690d9ef395f2c5f8d1
  6c04bd5ca3fcae76e30b72ad730ca86d
    4883ec0eb33c31828b7c767c806e14c7
      4a249f0d628e2318394fd9b75b4636b1Password Generator473f0a7621bec819994bb5020d29372a

      34a25c77a2e9da798136e01b207e55d8
        9f296658183c8dc217a6dd649074b65b
        b447d4e20918108d1f227b35d3f83b0ccontent_copy54bdf357c58b8a65c66d7c19c8e4d114
      16b28748ea4df4d9c2150843fecfba68

      2099bb55d2af935eea656fe56e182519

      39bbc163833ae4e036fa5108a4263823
        e388a4556c0f65e1904146cc1a846beePassword Length94b3e26ee717c64999d7867364b1b4a3
        98f5e630a88a7d7159f08c0a14a2752d54bdf357c58b8a65c66d7c19c8e4d114
      16b28748ea4df4d9c2150843fecfba68

      39bbc163833ae4e036fa5108a4263823
        e7dc9bb71ade5e1b977b4fc7169140c4Include Lowercase Letters (a-z)8c1ecd4bb896b2264e0711597d40766c
        a8b444646b004d6a82c0efc74a0796e3
      16b28748ea4df4d9c2150843fecfba68

      39bbc163833ae4e036fa5108a4263823
        dcc61bab82ce65042ff81e61d412a812Include Uppercase Letters (A-Z)8c1ecd4bb896b2264e0711597d40766c
        86ca2e498f4feae7bb126ce425dec34f
      16b28748ea4df4d9c2150843fecfba68

      39bbc163833ae4e036fa5108a4263823
        0128196305b1d83f036472d48485215bInclude Numbers (0-9)8c1ecd4bb896b2264e0711597d40766c
        b9a60207358383794656d179ccc43b2c
      16b28748ea4df4d9c2150843fecfba68

      39bbc163833ae4e036fa5108a4263823
        74ac59835abb23d9c05434e220125466Include Symbols (@-*)8c1ecd4bb896b2264e0711597d40766c
        1c9eb7b8553dbb5287a55dc1961edc08
      16b28748ea4df4d9c2150843fecfba68

      1fd90c1118fb6157c85d8e0f0e7a7221
        Generate Password
      65281c5ac262bf6d81768915a4a77ac0
    16b28748ea4df4d9c2150843fecfba68
    ffd6ba4147bda351239915f463e46e38
      e388a4556c0f65e1904146cc1a846beeMade with ❤️ by Abhishek Gurjar94b3e26ee717c64999d7867364b1b4a3
    16b28748ea4df4d9c2150843fecfba68
  36cc49f0c466276486e50c850b7e4956
73a6ac4ed44ffec12cee46588e518a5e

CSS

The style.css file styles the Password Generator, making it visually appealing and responsive. Below are some key styles:

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  font-family: sans-serif;
}

body {
  max-width: 100vw;
  min-height: 100vh;
  display: flex;
  justify-content: center;
  align-items: center;
  background: #000;
  color: #fff;
  font-weight: 600;
  flex-direction: column;
}

.container {
  border: 0.5px solid #fff;
  border-radius: 10px;
  padding: 28px 32px;
  display: flex;
  flex-direction: column;
  background: transparent;
  box-shadow: 8px 8px 4px #909090, 8px 8px 0px #575757;
}

.container h1 {
  font-size: 1.4rem;
  margin-block: 8px;
}

.inputBox {
  position: relative;
}

.inputBox span {
  position: absolute;
  top: 16px;
  right: 6px;
  color: #000;
  font-size: 28px;
  cursor: pointer;
  z-index: 2;
}

.passBox {
  background-color: #fff;
  border: none;
  outline: none;
  padding: 10px;
  width: 300px;
  border-radius: 4px;
  font-size: 20px;
  margin-block: 8px;
  text-overflow: ellipsis;
}

.row {
  display: flex;
  margin-block: 8px;
}

.row p, .row label {
  flex-basis: 100%;
  font-size: 18px;
}

.row input[type="checkbox"] {
  width: 20px;
  height: 20px;
}

.genBtn {
  border: none;
  outline: none;
  background-color: #2c619e;
  padding: 12px 24px;
  color: #fff;
  font-size: 18px;
  margin-block: 8px;
  font-weight: 700;
  cursor: pointer;
  border-radius: 4px;
}

.genBtn:hover {
  background-color: #0066ff;
}

.footer {
  color: white;
  margin-top: 150px;
  text-align: center;
}

.footer p {
  font-size: 16px;
  font-weight: 200;
}

JavaScript

The script.js file contains the logic for generating passwords, managing user interactions, and copying passwords to the clipboard. Here's a snippet:

let inputSlider = document.getElementById("inputSlider");
let sliderValue = document.getElementById("sliderValue");
let passBox = document.getElementById("passBox");
let lowercase = document.getElementById("lowercase");
let uppercase = document.getElementById("uppercase");
let numbers = document.getElementById("numbers");
let symbols = document.getElementById("symbols");
let genBtn = document.getElementById("genBtn");
let copyIcon = document.getElementById("copyIcon");

// Showing input slider value 
sliderValue.textContent = inputSlider.value;
inputSlider.addEventListener("input", () => {
  sliderValue.textContent = inputSlider.value;
});

genBtn.addEventListener("click", () => {
  passBox.value = generatePassword();
});

let lowerChars = "abcdefghijklmnopqrstuvwxyz";
let upperChars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
let allNumbers = "0123456789";
let allSymbols = "~!@#$%^&*";

// Function to generate Password
function generatePassword() {
  let genPassword = "";
  let allChars = "";

  allChars += lowercase.checked ? lowerChars : "";
  allChars += uppercase.checked ? upperChars : "";
  allChars += numbers.checked ? allNumbers : "";
  allChars += symbols.checked ? allSymbols : "";

  if (allChars === "") {
    return genPassword;
  }

  let i = 1;
  while (i 4c18bbaca350f2b916a43e11d91f001a {
  if (passBox.value !== "") {
    navigator.clipboard.writeText(passBox.value);
    copyIcon.innerText = "check";
    copyIcon.title = "Password Copied";

    setTimeout(() => {
      copyIcon.innerHTML = "content_copy";
      copy

Icon.title = "";
    }, 3000);
  }
});

Live Demo

You can check out the live demo of the Password Generator project here.

Conclusion

Creating the Password Generator was an enjoyable project that allowed me to apply my front-end development skills. This tool is useful for generating strong passwords and can be a great addition to your web development projects. I hope you find it as helpful as I do. Happy coding!

Credits

This project was developed as part of my journey to enhance my JavaScript skills and create practical web tools.

Author

  • Abhishek Gurjar
    • GitHub Profile

The above is the detailed content of Build a Password Generator Website. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn