首頁  >  文章  >  web前端  >  建立一個密碼產生器網站

建立一個密碼產生器網站

王林
王林原創
2024-08-25 20:30:33977瀏覽

Build a Password Generator Website

介紹

開發者們大家好!我很高興向大家展示我的最新項目:密碼產生器。該工具旨在幫助您輕鬆建立安全且隨機的密碼。無論您的線上帳戶需要強密碼還是想要練習 JavaScript 技能,此密碼產生器都是您工具包的絕佳補充。

項目概況

密碼產生器是一個基於網路的應用程序,允許使用者使用各種配置產生密碼。您可以自訂密碼長度並包含或排除特定字元類型,例如小寫字母、大寫字母、數字和符號。該專案展示如何使用 JavaScript 建立動態密碼產生器,並結合使用 HTML 和 CSS 建立的乾淨且使用者友好的介面。

特徵

  • 可自訂密碼長度:使用滑桿調整產生的密碼的長度。
  • 字元類型選擇:選擇密碼中包含的字元類型(小寫、大寫、數字、符號)。
  • 產生並複製:產生隨機密碼並輕鬆複製到剪貼簿。

使用的技術

  • HTML:提供密碼產生器的結構和佈局。
  • CSS:設定介面樣式,確保現代且響應式的設計。
  • JavaScript:處理密碼產生邏輯,包括使用者互動和密碼複製。

專案結構

以下是項目結構的概述:

Password-Generator/
├── index.html
├── style.css
└── script.js
  • index.html:包含密碼產生器的 HTML 結構。
  • style.css:包含 CSS 樣式以創建有吸引力的響應式設計。
  • script.js:管理密碼產生功能和使用者互動。

安裝

要開始該項目,請按照以下步驟操作:

  1. 複製儲存庫

    git clone https://github.com/abhishekgurjar-in/Password-Generator.git
    
  2. 開啟專案目錄:

    cd Password-Generator
    
  3. 運行項目:

    • 在網頁瀏覽器中開啟index.html 檔案以使用密碼產生器。

用法

  1. 在網頁瀏覽器中開啟網站
  2. 使用滑桿調整密碼長度
  3. 選擇或取消選擇您想要包含的字元類型。
  4. 透過點選「產生密碼」按鈕產生密碼
  5. 點選複製圖示將密碼複製到剪貼簿。

程式碼說明

超文本標記語言

index.html 檔案定義了密碼產生器的結構,包括輸入欄位、控制項和顯示區域。這是一個片段:

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

style.css 檔案設定密碼產生器的樣式,使其具有視覺吸引力和回應能力。以下是一些關鍵樣式:

* {
  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

script.js 檔案包含產生密碼、管理使用者互動以及將密碼複製到剪貼簿的邏輯。這是一個片段:

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);
  }
});

現場演示

您可以在此處查看密碼產生器專案的現場演示。

結論

建立密碼產生器是一個令人愉快的項目,它使我能夠應用我的前端開發技能。該工具對於產生強密碼非常有用,並且可以成為您的 Web 開發專案的重要補充。我希望你發現它和我一樣有幫助。快樂編碼!

製作人員

這個專案是我增強 JavaScript 技能和創建實用 Web 工具之旅的一部分。

作者

  • 阿布舍克·古賈爾
    • GitHub 簡介

以上是建立一個密碼產生器網站的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn