Acum puteți folosi contorul de rezistență a parolei howsecureismypassword.net pe propriile site-uri.
Despre
În loc să spuneți doar că o parolă este „slabă” sau „puternică”, How Secure is My Password? le permite utilizatorilor dvs. să știe cât timp i-ar lua cuiva să le spargă parola. De asemenea, verifică în funcție de primele 10.000 cele mai comune parole, precum și o serie de alte verificări (cum ar fi șiruri repetate, numere de telefon și cuvinte urmate de numere).
Alte versiuni
Aceasta este versiunea vanilla JS a plugin-ului. Sunt disponibile și alte versiuni:
- jQuery Version: howsecureismypassword/jquery
- WordPress Version: howsecureismypassword/wordpress
Instalare
bower install hsimp
CSS
Copiați fișierul build/hsimp.css
în directorul css
și includeți-l în documentul <head>
:
<link rel="stylesheet" href="/css/hsimp.css">
JavaScript
Copiați fișierul build/hsimp.min.js
în directorul dvs. js
și includeți-l în partea de jos a documentului <body>
:
<script src="/js/hsimp.min.js"></script><!-- Other scripts go here -->
Fileul hsimp.min.js
poate fi utilizat opțional cu încărcătoarele de module AMD și Common JS folosind numele de modul hsimp
. Dacă nu se găsește niciun încărcător de module, va fi pusă la dispoziție o funcție globală hsimp
.
Utilizare
Funcția hsimp
primește două argumente: un obiect de configurare și un element 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"));
Configurație
Obiectul de configurare suportă trei proprietăți:
-
outputChecks
: o funcție căreia i se transmite o listă de rezultate de la diverse verificări
options
: un obiect de opțiuni care afectează calculele outputTime
: o funcție căreia i se transmite durata de timp necesară pentru a sparge parola dată
opțiuni
În prezent există trei opțiuni acceptate:
-
calculationsPerSecond
: numărul presupus de calcule pe secundă pe care le-ar putea face un spărgător (implicit: 10e9 – 10 miliarde) -
good
: timpul minim (în secunde) de care ar fi nevoie pentru a sparge o parolă „bună” (verde) (implicit: 31557600e6 – 1 milion de ani) -
ok
: timpul minim (în secunde) de care ar fi nevoie pentru a sparge o parolă „ok” (portocaliu) (implicit: 31557600 – 1 an)
outputTime
Funcției outputTime
i se transmit două variabile: timpul necesar pentru a sparge parola (ca șir de caractere lizibile de către om) și (opțional) datele de intrare la care se referă.
var renderTime = function (time, input) { document.getElementById("password-strength").innerHTML = time;}hsimp({ outputTime: renderTime }, document.getElementById("password"));
outputChecks
Funcției outputChecks
i se transmit două variabile: o matrice de rezultate ale verificărilor și (opțional) datele de intrare la care se referă.
Care rezultat al verificării este un obiect cu trei proprietăți:
-
name
: numele/titlul verificării -
message
: un text explicativ -
level
: nivelul de severitate (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"}
Limba
Puteți actualiza fișierele de limbă utilizând următoarele metode, fiecare dintre ele acceptând un obiect:
hsimp.setDictionary(lang)
Stabilește valorile pentru „instantaneu” și „pentru totdeauna”. Vezi https://github.com/howsecureismypassword/modules-main/blob/develop/dictionary.json
hsimp.setPeriodDictionary(lang)
Stabilește perioadele (de exemplu, secunde, zile, ani etc.). Vezi https://github.com/howsecureismypassword/modules-period/blob/develop/period-dictionary.json
hsimp.setNamedNumberDictionary(lang)
Stabilește numele numerelor. A se vedea https://github.com/howsecureismypassword/modules-named-number/blob/develop/named-number-dictionary.json
hsimp.setCheckerDictionary(lang)
Stabilește formularea diferitelor verificări. A se vedea https://github.com/howsecureismypassword/modules-checker/blob/develop/checker-dictionary.json
Curtare
Funcția hsimp
suportă curtarea. Aceasta înseamnă că puteți seta opțiunile o singură dată și apoi să utilizați funcția returnată pentru a configura mai multe intrări:
var attachHSIMP = hsimp({ // shared options here});attachHSIMP(document.getElementById("input-1"));attachHSIMP(document.getElementById("input-2"));
Licență
Licența MIT (MIT)
Copyright (c) 2015, Mark Nicholas Wales / Small Hadron Collider
Se acordă permisiunea, în mod gratuit, oricărei persoane care obține o copie a acestui software și a fișierelor de documentație asociate („Software”), de a tranzacționa software-ul fără restricții, inclusiv, fără a se limita la drepturile de a utiliza, copia, modifica, îmbina, publica, distribui, sublicenția și/sau vinde copii ale software-ului și de a permite persoanelor cărora li se furnizează software-ul să facă acest lucru, sub rezerva următoarelor condiții:
Anunțul privind drepturile de autor de mai sus și acest anunț de permisiune vor fi incluse în toate copiile sau părțile substanțiale ale Software-ului.
SOFTWARE-UL ESTE FURNIZAT „AȘA CUM ESTE”, FĂRĂ NICI UN FEL DE GARANȚIE, EXPRESĂ SAU IMPLICITĂ, INCLUSIV, DAR FĂRĂ A SE LIMITA LA GARANȚIILE DE VANDABILITATE, DE ADECVARE LA UN ANUMIT SCOP ȘI DE NERESPECTARE. ÎN NICI UN CAZ AUTORII SAU DEȚINĂTORII DREPTURILOR DE AUTOR NU VOR FI RĂSPUNZĂTORI PENTRU ORICE PRETENȚII, DAUNE SAU ALTE RĂSPUNDERI, FIE CĂ ESTE VORBA DE O ACȚIUNE CONTRACTUALĂ, DELICTUALĂ SAU DE ALTĂ NATURĂ, CARE DECURG DIN, DIN SAU ÎN LEGĂTURĂ CU SOFTWARE-UL SAU CU UTILIZAREA SAU ALTE TRANZACȚII CU SOFTWARE-UL.