Passwort nach bestimmten Kriterien erstellen

Thomas_Jung

Erfahrenes Mitglied
HI
Ich habe eine Funktion die mir ein Passwort erstellt.

Javascript:
(function($) {

  $.generateRandomPassword = function(limit) {
 
    limit = limit || 10;
 
    var password = '';
 
    var chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ123456789';
 
    var list = chars.split('');
    var len = list.length, i = 0;
   
    do {
   
      i++;
   
      var index = Math.floor(Math.random() * len);
     
      password += list[index];
   
    } while(i < limit);
   
    return password;
  };


})(jQuery);

$(function() {

  $('#generate_password').click(function(event) {
 
    var pwd = $.generateRandomPassword(6);
   
    $('#password_result').val(pwd);
   
    event.preventDefault();
 
  });

});

HTML:
<input type="text" id="password_result" />
<a href="#" id="generate_password">Erstellen</a>

Nun möchte ich das, das generierte Passwort IMMER mindestens eine Ziffer, einen Klein und einen Großbuchstaben enthält.

Kann mir jemand helfen wie der Code modifiziert werden muss?

Gruß Thomas
 
Am einfachsten wäre es, das Passwort zu generieren und zu verwerfen, wenn es deine Kriterien nicht erfüllt.
Allerdings fehlen in deiner Charliste Zeichen wie !"§$. Noch wichtiger als das Passwort an sich ist das richtige gehashte Abspeichern in der Datenbank. Was nützt dir ein Superpasswort wenn die Webseite das im Klartext speichert.
Grundsätzlich ist es auch nicht einmal sinnvoll, solche Kriterien an ein zufällig generiertes Passwort anzulegen, weil sich damit die Gesamtzahl der möglichen Passwörter verringert. Bei einem ausgedachten Passwort ist das besser, da hier die Leute eher dazu neigen nur Kleinbuchstaben zu verwenden.
Und weil es so schön zum Thema passt:
http://xkcd.com/538/
 
Zurück