Ora puoi usare il misuratore di forza delle password di howsecureismypassword.net sui tuoi siti.
A proposito di
Piuttosto che dire semplicemente che una password è “debole” o “forte”, How Secure is My Password? permette ai tuoi utenti di sapere quanto tempo ci vorrebbe per craccare la loro password. Controlla anche le 10.000 password più comuni e una serie di altri controlli (come stringhe ripetute, numeri di telefono e parole seguite da numeri).
Altre versioni
Questa è la versione vanilla JS del plugin. Sono disponibili anche altre versioni:
- jQuery Versione: howsecureismypassword/jquery
- WordPress Versione: howsecureismypassword/wordpress
Installazione
bower install hsimp
CSS
Copia il file build/hsimp.css
nella tua directory css
e includilo nel tuo documento <head>
:
<link rel="stylesheet" href="/css/hsimp.css">
JavaScript
Copia il file build/hsimp.min.js
nella tua directory js
e includilo in fondo al documento <body>
:
<script src="/js/hsimp.min.js"></script><!-- Other scripts go here -->
Il file hsimp.min.js
può opzionalmente essere usato con i caricatori di moduli AMD e Common JS usando il nome del modulo hsimp
. Se non viene trovato alcun caricatore di moduli, sarà resa disponibile una funzione globale hsimp
.
Uso
La funzione hsimp
prende due argomenti: un oggetto di configurazione e un elemento HTML <input>
hsimp({ options: { calculationsPerSecond: 1e10, // 10 billion, good: 31557600e3, // 1,000 years ok: 31557600 // 1 year }, outputTime: function (time, input) { console.log(time, input); }, outputChecks: function (checks, input) { console.log(checks, input); }}, document.getElementById("password"));
Configurazione
L’oggetto configurazione supporta tre proprietà:
-
options
: un oggetto di opzioni che influenzano i calcoli -
outputTime
: una funzione a cui viene passata la durata del tempo necessario per decifrare la password data -
outputChecks
: una funzione a cui viene passata una lista di risultati di vari controlli
opzioni
Al momento ci sono tre opzioni supportate:
-
calculationsPerSecond
: il numero presunto di calcoli al secondo che un cracker potrebbe fare (default: 10e9 – 10 miliardi) -
good
: il tempo minimo (in secondi) che una password “buona” (verde) impiegherebbe a decifrare (default: 31557600e6 – 1 milione di anni) -
ok
: il tempo minimo (in secondi) che una password “ok” (arancione) impiegherebbe per essere decifrata (default: 31557600 – 1 anno)
outputTime
Alla funzione outputTime
vengono passate due variabili: il tempo che impiegherebbe per decifrare la password (come stringa leggibile dall’uomo) e (opzionalmente) l’input a cui si riferisce.
var renderTime = function (time, input) { document.getElementById("password-strength").innerHTML = time;}hsimp({ outputTime: renderTime }, document.getElementById("password"));
outputChecks
Alla funzione outputChecks
vengono passate due variabili: un array di risultati di controllo e (opzionalmente) l’input a cui si riferisce.
Ogni risultato di controllo è un oggetto con tre proprietà:
-
name
: il nome/titolo del controllo -
message
: del testo esplicativo -
level
: il livello di gravità (insecure, warning, notice, achievement)
{ name: "Length: Very Short", message: "Your password is very short. The longer a password is the more secure it will be.", level: "warning"}
Language
Puoi aggiornare i file della lingua usando i seguenti metodi, ognuno dei quali accetta un oggetto:
hsimp.setDictionary(lang)
Imposta i valori per “istantaneamente” e “per sempre”. Vedere https://github.com/howsecureismypassword/modules-main/blob/develop/dictionary.json
hsimp.setPeriodDictionary(lang)
Imposta i periodi (es. secondi, giorni, anni, ecc.). Vedere https://github.com/howsecureismypassword/modules-period/blob/develop/period-dictionary.json
hsimp.setNamedNumberDictionary(lang)
Imposta i nomi dei numeri. Vedere https://github.com/howsecureismypassword/modules-named-number/blob/develop/named-number-dictionary.json
hsimp.setCheckerDictionary(lang)
Imposta la dicitura dei vari controlli. Vedi https://github.com/howsecureismypassword/modules-checker/blob/develop/checker-dictionary.json
Currying
La funzione hsimp
supporta il currying. Questo significa che puoi impostare le opzioni una volta e poi usare la funzione restituita per impostare più di un ingresso:
var attachHSIMP = hsimp({ // shared options here});attachHSIMP(document.getElementById("input-1"));attachHSIMP(document.getElementById("input-2"));
Licenza
La MIT License (MIT)
Copyright (c) 2015, Mark Nicholas Wales / Small Hadron Collider
Con la presente si concede il permesso, gratuitamente, a chiunque ottenga una copia di questo software e dei file di documentazione associati (il “Software”), di trattare il software senza restrizioni, incluso senza limitazioni il diritto di usare, copiare, modificare, unire, pubblicare, distribuire, concedere in sublicenza e/o vendere copie del software, e di permettere alle persone a cui il software è fornito di fare ciò, soggetto alle seguenti condizioni:
L’avviso di copyright di cui sopra e questo avviso di autorizzazione devono essere inclusi in tutte le copie o porzioni sostanziali del Software.
IL SOFTWARE È FORNITO “COSÌ COM’È”, SENZA GARANZIE DI ALCUN TIPO, ESPRESSE O IMPLICITE, INCLUSE MA NON LIMITATE ALLE GARANZIE DI COMMERCIABILITÀ, IDONEITÀ PER UNO SCOPO PARTICOLARE E NON VIOLAZIONE. IN NESSUN CASO GLI AUTORI O I DETENTORI DEL COPYRIGHT SARANNO RESPONSABILI PER QUALSIASI RECLAMO, DANNO O ALTRA RESPONSABILITÀ, SIA IN UN’AZIONE DI CONTRATTO, TORTO O ALTRO, DERIVANTE DA, DA O IN CONNESSIONE CON IL SOFTWARE O L’USO O ALTRI RAPPORTI CON IL SOFTWARE.