Aktionen

Passwortgenerator: Unterschied zwischen den Versionen

Aus znilwiki

KKeine Bearbeitungszusammenfassung
KKeine Bearbeitungszusammenfassung
Zeile 1: Zeile 1:
<html lang="de">
<html lang="de">
<head>
  <head>
  <meta charset="UTF-8">
      <meta charset="UTF-8">
  <title>Passwortgenerator</title>
      <title>Passwortgenerator</title>
  <style>
      <style>
    label, input, select, textarea, button {
        label, input, select, textarea, button {
      font-family: "Consolas", monospace;
        font-family: "Consolas", monospace;
      margin: 5px 0;
        margin: 5px 0;
      size 20;
        size 20;
    }
        }
    .form-field {
        .form-field {
      margin-bottom: 10px;
        margin-bottom: 10px;
    }
        }
  </style>
      </style>
</head>
  </head>
<body>
  <body>
<p style="font-family: "Consolas", monospace; padding: 20px; margin: 20px">
      <p style="font-family: "Consolas", monospace; padding: 20px; margin: 20px">
<div class="Passwortgenerator-links"  style="float: left; width: 50%;">
      <div class="Passwortgenerator-links"  style="float: left; width: 50%;">
  <div class="form-field">
        <div class="form-field">
    <label for="length">Passwortlänge:</label>
            <label for="length">Passwortlänge:</label>
    <input type="number" id="length" value="16">
            <input type="number" id="length" value="16">
  </div>
        </div>
 
        <div class="form-field">
  <div class="form-field">
            <label for="vowels">Vokale:</label>
    <label for="vowels">Vokale:</label>
            <input type="text" id="vowels" value="aeiou">
    <input type="text" id="vowels" value="aeiou">
        </div>
  </div>
        <div class="form-field">
 
            <label for="consonants">Konsonanten:</label>
  <div class="form-field">
            <input type="text" id="consonants" value="bcdfghjklmnpqrstvwxyz">
    <label for="consonants">Konsonanten:</label>
        </div>
    <input type="text" id="consonants" value="bcdfghjklmnpqrstvwxyz">
        <div class="form-field">
  </div>
            <label for="digits">Zahlen:</label>
 
            <input type="text" id="digits" value="0123456789">
  <div class="form-field">
        </div>
    <label for="digits">Zahlen:</label>
        <div class="form-field">
    <input type="text" id="digits" value="0123456789">
            <label for="numDigits">Zahlen Anzahl der Stellen:</label>
  </div>
            <input type="number" id="numDigits" value="4">
 
        </div>
  <div class="form-field">
        <div class="form-field">
    <label for="numDigits">Zahlen Anzahl der Stellen:</label>
            <label for="specials">Sonderzeichen:</label>
    <input type="number" id="numDigits" value="4">
            <input type="text" id="specials" value="!$%&/=?+*#-.">
  </div>
        </div>
 
        <div class="form-field">
  <div class="form-field">
            <label for="count">Anzahl der Passwörter:</label>
    <label for="specials">Sonderzeichen:</label>
            <select id="count">
    <input type="text" id="specials" value="!$%&/=?+*#-.">
              <option value="1">1</option>
  </div>
              <option value="3">3</option>
 
              <option value="8" selected>8</option>
  <div class="form-field">
              <option value="10">10</option>
    <label for="count">Anzahl der Passwörter:</label>
              <option value="25">25</option>
    <select id="count">
              <option value="50">50</option>
      <option value="1">1</option>
              <option value="100">100</option>
      <option value="3">3</option>
            </select>
      <option value="8" selected>8</option>
        </div>
      <option value="10">10</option>
        <div class="form-field">
      <option value="25">25</option>
            <button id="generate">Passwörter erstellen</button>
      <option value="50">50</option>
        </div>
      <option value="100">100</option>
        <div class="form-field">
    </select>
            <textarea id="output" rows="10" cols="80" placeholder="Erzeugte Passwörter erscheinen hier..."></textarea>
  </div>
        </div>
 
        <script>
  <div class="form-field">
            window.addEventListener("load", function() {
    <button id="generate">Passwörter erstellen</button>
              document.getElementById("generate").addEventListener("click", function() {
  </div>
                // Werte aus dem Formular einlesen
 
                var totalLength = parseInt(document.getElementById("length").value, 10);
  <div class="form-field">
                var vowels = document.getElementById("vowels").value;
    <textarea id="output" rows="10" cols="80" placeholder="Erzeugte Passwörter erscheinen hier..."></textarea>
                var consonants = document.getElementById("consonants").value;
  </div>
                var digitsAllowed = document.getElementById("digits").value;
 
                var numDigits = parseInt(document.getElementById("numDigits").value, 10);
  <script>
                var specials = document.getElementById("specials").value;
    window.addEventListener("load", function() {
                var passwordCount = parseInt(document.getElementById("count").value, 10);
      document.getElementById("generate").addEventListener("click", function() {
               
        // Werte aus dem Formular einlesen
                var output = "";
        var totalLength = parseInt(document.getElementById("length").value, 10);
               
        var vowels = document.getElementById("vowels").value;
                // Hilfsfunktion: Zufälliges Zeichen aus einem String auswählen
        var consonants = document.getElementById("consonants").value;
                function randomChar(str) {
        var digitsAllowed = document.getElementById("digits").value;
                  return str.charAt(Math.floor(Math.random() * str.length));
        var numDigits = parseInt(document.getElementById("numDigits").value, 10);
                }
        var specials = document.getElementById("specials").value;
               
        var passwordCount = parseInt(document.getElementById("count").value, 10);
                // Hilfsfunktion: Erzeuge eine abwechselnde Zeichenkette (Vokal/Konsonant) der Länge "length"
       
                function generateAlternatingSequence(length, vowels, consonants) {
        var output = "";
                  if(length <= 0) return "";
       
                  var sequence = "";
        // Hilfsfunktion: Zufälliges Zeichen aus einem String auswählen
                  // Zufällig entscheiden, ob mit Vokal oder Konsonant gestartet wird
        function randomChar(str) {
                  var useVowel = Math.random() < 0.5;
          return str.charAt(Math.floor(Math.random() * str.length));
                  for(var i = 0; i < length; i++){
        }
                    sequence += useVowel ? randomChar(vowels) : randomChar(consonants);
       
                    useVowel = !useVowel;
        // Hilfsfunktion: Erzeuge eine abwechselnde Zeichenkette (Vokal/Konsonant) der Länge "length"
                  }
        function generateAlternatingSequence(length, vowels, consonants) {
                  return sequence;
          if(length <= 0) return "";
                }
          var sequence = "";
               
          // Zufällig entscheiden, ob mit Vokal oder Konsonant gestartet wird
                // Passwortgenerierungsschleife
          var useVowel = Math.random() < 0.5;
                for(var p = 0; p < passwordCount; p++){
          for(var i = 0; i < length; i++){
                  // Berechne die Länge des nicht-numerischen Teils
            sequence += useVowel ? randomChar(vowels) : randomChar(consonants);
                  var letterSectionLength = totalLength - numDigits;
            useVowel = !useVowel;
                  // Bestimme die Basislänge für den ersten Buchstabenteil: (letterSectionLength - 1) geteilt durch 2, gerundet
          }
                  var baseFirstPart = Math.round((letterSectionLength - 1) / 2);
          return sequence;
                  // Zufällige Anpassung um -1, 0 oder 1
        }
                  var adjustment = [-1, 0, 1][Math.floor(Math.random() * 3)];
       
                  var firstPartLength = baseFirstPart + adjustment;
        // Passwortgenerierungsschleife
                  // Sicherstellen, dass der erste Teil in einen sinnvollen Bereich fällt
        for(var p = 0; p < passwordCount; p++){
                  if(firstPartLength < 0) firstPartLength = 0;
          // Berechne die Länge des nicht-numerischen Teils
                  if(firstPartLength > letterSectionLength - 1) firstPartLength = letterSectionLength - 1;
          var letterSectionLength = totalLength - numDigits;
                  // Die Länge des zweiten Buchstabenteils ergibt sich aus dem Rest (ein Sonderzeichen wird noch dazwischen gesetzt)
          // Bestimme die Basislänge für den ersten Buchstabenteil: (letterSectionLength - 1) geteilt durch 2, gerundet
                  var secondPartLength = letterSectionLength - firstPartLength - 1;
          var baseFirstPart = Math.round((letterSectionLength - 1) / 2);
                 
          // Zufällige Anpassung um -1, 0 oder 1
                  // Erzeuge den ersten alternierenden Buchstabenteil
          var adjustment = [-1, 0, 1][Math.floor(Math.random() * 3)];
                  var firstPart = generateAlternatingSequence(firstPartLength, vowels, consonants);
          var firstPartLength = baseFirstPart + adjustment;
                  // Erzeuge den zweiten alternierenden Buchstabenteil
          // Sicherstellen, dass der erste Teil in einen sinnvollen Bereich fällt
                  var secondPart = generateAlternatingSequence(secondPartLength, vowels, consonants);
          if(firstPartLength < 0) firstPartLength = 0;
                 
          if(firstPartLength > letterSectionLength - 1) firstPartLength = letterSectionLength - 1;
                  // Stelle sicher, dass der erste Buchstabe beider Wörter groß geschrieben wird, falls vorhanden
          // Die Länge des zweiten Buchstabenteils ergibt sich aus dem Rest (ein Sonderzeichen wird noch dazwischen gesetzt)
                  if(firstPart.length > 0) {
          var secondPartLength = letterSectionLength - firstPartLength - 1;
                    firstPart = firstPart.charAt(0).toUpperCase() + firstPart.slice(1);
         
                  }
          // Erzeuge den ersten alternierenden Buchstabenteil
                  if(secondPart.length > 0) {
          var firstPart = generateAlternatingSequence(firstPartLength, vowels, consonants);
                    secondPart = secondPart.charAt(0).toUpperCase() + secondPart.slice(1);
          // Erzeuge den zweiten alternierenden Buchstabenteil
                  }
          var secondPart = generateAlternatingSequence(secondPartLength, vowels, consonants);
                 
         
                  // Zufälliges Sonderzeichen auswählen
          // Stelle sicher, dass der erste Buchstabe beider Wörter groß geschrieben wird, falls vorhanden
                  var specialChar = randomChar(specials);
          if(firstPart.length > 0) {
                 
            firstPart = firstPart.charAt(0).toUpperCase() + firstPart.slice(1);
                  // Erzeuge den numerischen Teil (Ziffern)
          }
                  var digitSequence = "";
          if(secondPart.length > 0) {
                  for(var d = 0; d < numDigits; d++){
            secondPart = secondPart.charAt(0).toUpperCase() + secondPart.slice(1);
                    digitSequence += randomChar(digitsAllowed);
          }
                  }
         
                 
          // Zufälliges Sonderzeichen auswählen
                  // Komplettes Passwort zusammensetzen
          var specialChar = randomChar(specials);
                  var password = firstPart + specialChar + secondPart + digitSequence;
         
                  output += password + "\n";
          // Erzeuge den numerischen Teil (Ziffern)
                }
          var digitSequence = "";
               
          for(var d = 0; d < numDigits; d++){
                // Ausgabe in das Textfeld schreiben
            digitSequence += randomChar(digitsAllowed);
                document.getElementById("output").value = output;
          }
              });
         
            });
          // Komplettes Passwort zusammensetzen
        </script>
          var password = firstPart + specialChar + secondPart + digitSequence;
      </div>
          output += password + "\n";
      <div class="Passwortgenerator-rechts" style="float: right; width: 47%;">
        }
        Der Passwortgenerator funktioniert nach folgenden Regeln:<br>
       
        <ul>
        // Ausgabe in das Textfeld schreiben
            <li>Hinten werden Zahlen angehängt</li>
        document.getElementById("output").value = output;
            <li>Die Zahl besteht aus den Ziffern die in dem Feld vorkommen (man kann auch was anderes hinzufügen oder löschen)</li>
      });
            <li>Die Anzahl der Stellen ist festgelegt, z.B. auf 4</li>
    });
        </ul>
  </script>
      </div>
</div>
      </p>
<div class="Passwortgenerator-rechts" style="float: right; width: 47%;">
  </body>
Der Passwortgenerator funktioniert nach folgenden Regeln:<br>
<ul>
<li>Hinten werden Zahlen angehängt</li>
<li>Die Zahl besteht aus den Ziffern die in dem Feld vorkommen (man kann auch was anderes hinzufügen oder löschen)</li>
<li>Die Anzahl der Stellen ist festgelegt, z.B. auf 4</li>
</ul>
</div>
</p>
</body>
</html>
</html>

Version vom 22. Februar 2025, 15:26 Uhr

Passwortgenerator

Der Passwortgenerator funktioniert nach folgenden Regeln:
  • Hinten werden Zahlen angehängt
  • Die Zahl besteht aus den Ziffern die in dem Feld vorkommen (man kann auch was anderes hinzufügen oder löschen)
  • Die Anzahl der Stellen ist festgelegt, z.B. auf 4