2010-01-15 11 views
7

Ho provato diversi tipi di misuratori di password o controllori di password, ma tutti mi danno risultati diversi quando eseguo il test della stessa password, poiché ognuno implementa il proprio algoritmo.Linee guida per un misuratore di forza password (controllore di password) Design

Esiste uno standard o una guida ufficiale che può seguirmi per creare il mio misuratore di forza password.

Se non esisteva uno standard ufficiale, quali caratteristiche deve essere controllato da un buon misuratore di forza password?

+2

Penso che la standardizzazione dell'algoritmo comprometterebbe la sua forza, in quanto i malfattori avrebbero un insieme ben definito di regole da sfruttare quando si tenta di decifrare le password. Sarebbe molto più semplice hackerare la tua password se sapessi che c'erano 2-3 numeri, 5-6 lettere e 1 di un piccolo insieme di segni di punteggiatura, piuttosto che se fossi più al buio riguardo ai tuoi particolari criteri. Non una risposta, lo so. – Jay

risposta

3

Si consideri il seguente:

  • Lunghezza
  • caso misto
  • Non molti caratteri ripetuti
  • include le lettere, numeri e simboli
  • non include parte della il nome utente
  • Non simile alle password precedenti
  • Sono esclusi hash per la stessa cosa di una password debole
  • non è una tastiera passeggiata
  • non è correlato al singolo
  • Non finisce con i suffissi comuni
  • non inizia con i prefissi comuni

di post on passwords così come this post Vedere Bruce Schneier.

+0

ottimo articolo di Schneier. è molto utile Grazie. – RRUZ

1

Per quanto ne so non esiste uno standard in quanto vi sono molte definizioni di cosa dovrebbe essere una buona password (cioè forte).

alcune cose da considerare:

  • lunghezza - più lungo è il migliore
  • caso misto
  • include i numeri così come personaggi
  • include i caratteri numerici non alfa
  • non è un Parola del dizionario
  • È una frase

e così via

+0

"Non include caratteri alfanumerici"? Hai appena detto nella riga che precede "Include numeri e caratteri" che è alfanumerico? –

+0

Quello era un errore di battitura. Risolto ora. – ChrisF

0

Vorrei anche aggiungere: non include la stringa di nome utente, o anche una parte del nome utente se si tratta di una lunga.

0

mi butto un altro criterio sul ring:

  • No "tastiera passeggiate"

Perché così tante persone si aspettano da ricordare le password che sono difficili da ricordare, ricorrono alla tastiera schemi per domare la follia. Gettare le versioni spostate per buona misura.

Oh, e niente su Twitter's forbidden password list, entrambi.

0

Esistono alcune linee guida (google) che forniscono indicazioni su cosa rende una password complessa, la maggior parte delle quali è di buon senso. Alla fine della giornata è possibile applicare la propria politica (o politica aziendale se ne hanno una) per ciò che è forte e cosa non lo è e la vostra decisione sarà probabilmente influenzata da ciò che si sta tentando di proteggere.

Come ho detto @jay, non penso che la standardizzazione di una cosa del genere sarebbe una pratica saggia!

http://net.tutsplus.com/tutorials/javascript-ajax/build-a-simple-password-strength-checker/

http://www.ibm.com/developerworks/lotus/library/ls-password_quality/index.html#N100F5

Pensiero Questo sito è stato particolarmente buono in quanto dà un'idea di dell'algoritmo che stanno applicando e come calcolare la forza.

http://www.passwordmeter.com/

0

Forza di una password dovrebbe essere controllata per conto di diversi parametri, come la presenza di caratteri speciali e numeri, lunghezza della password ecc

Si prega di controllare questo link:

http://tinytute.com/2014/06/03/animated-password-strength-checker-quick-easy/

Il jQuery blocco di codice:

$ (document) .ready (function() {

$("#textBox").keyup(function(){ 

    var passWord = $("#textBox").val(); 
    var passLength = passWord.length; 
    var specialFlag = 0; 
    var numberFlag = 0; 
    var numberGenerator = 0; 
    var total = 0; 

    if(/^[a-zA-Z0-9- ]*$/.test(passWord) == false) { 

     specialFlag =20; 
    } 


    if(passWord.match(/[0-9]/)) { 

     numberFlag = 25; 
    } 

    if(passLength>4&&passLength<=6){ 
     numberGenerator =25; 
    }else if(passLength>=7&&passLength<=9){ 
     numberGenerator =35; 
    }else if(passLength>9){ 
     numberGenerator =55; 
    }else if(passLength>0&&passLength<=4){ 
     numberGenerator =15; 
    }else{ 
     numberGenerator =0; 
    } 

    total = numberGenerator + specialFlag + numberFlag; 
    if(total<30){ 
     $('#progressBar').css('background-color','#CCC'); 
    }else if(total<60&&total>=30){ 

     $('#progressBar').css('background-color','#FF6600'); 

    }else if(total>=60&&total<90){ 

     $('#progressBar').css('background-color','#FFCC00'); 

    }else if(total>=90){ 

     $('#progressBar').css('background-color','#0f0'); 

    } 
    $('#progressBar').css('width',total+'%'); 

}); 

});

Problemi correlati