howsecureismypassword / hsimp Archiviato

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.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.