Now you can use the howsecureismypassword.net password strength meter on your own sites.
About
Rather than just saying a password is “weak” or “strong”, How Secure is My Password? lets your users know how long it would take someone to crack their password. Emellett a 10 000 leggyakoribb jelszót is ellenőrzi, valamint számos más ellenőrzést is végez (például ismétlődő karakterláncok, telefonszámok és számok által követett szavak).
Egyéb verziók
Ez a bővítmény vanilla JS verziója. Más verziók is elérhetőek:
- jQuery verzió: howsecureismypassword/jquery
- WordPress verzió: howsecureismypassword/wordpress
Telepítés
bower install hsimp
CSS
Másolja a build/hsimp.css
fájlt a css
könyvtárába, és építse be a <head>
dokumentumába:
<link rel="stylesheet" href="/css/hsimp.css">
JavaScript
Másolja a build/hsimp.min.js
fájlt a js
könyvtárába, és építse be a dokumentum aljára <body>
:
<script src="/js/hsimp.min.js"></script><!-- Other scripts go here -->
A hsimp.min.js
fájl opcionálisan használható az AMD és Common JS modulbetöltőkkel a hsimp
modulnév használatával. Ha nem találunk modulbetöltőt, akkor egy globális hsimp
funkció lesz elérhetővé téve.
Használat
A hsimp
függvény két argumentumot vesz fel: egy konfigurációs objektumot és egy HTML <input>
elemet
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"));
Konfiguráció
A konfigurációs objektum három tulajdonságot támogat:
-
options
: -
outputTime
: egy függvény, amelynek átadjuk az adott jelszó feltöréséhez szükséges idő hosszát -
outputChecks
: egy függvény, amelynek átadjuk a különböző ellenőrzések eredményeinek listáját
opciók
A jelenleg három támogatott opció van:
-
calculationsPerSecond
: a feltételezett számítások száma másodpercenként, amit egy feltörő elvégezhet (alapértelmezett: 10e9 – 10 milliárd) -
good
: a minimális idő (másodpercekben), ami egy “jó” (zöld) jelszó feltöréséhez szükséges (alapértelmezett: 31557600e6 – 1 millió év) -
ok
: (alapértelmezett: 31557600 – 1 év)
outputTime
A outputTime
függvénynek két változót adunk át: az időt, ami a jelszó feltöréséhez szükséges (ember által olvasható karakterláncként) és (opcionálisan) a bemenetet, amelyre hivatkozik.
var renderTime = function (time, input) { document.getElementById("password-strength").innerHTML = time;}hsimp({ outputTime: renderTime }, document.getElementById("password"));
outputChecks
A outputChecks
függvénynek két változót adunk át: az ellenőrzés eredményeinek tömbjét és (opcionálisan) a bemenetet, amelyre hivatkozik.
Minden ellenőrzés eredménye egy objektum három tulajdonsággal:
-
name
: az ellenőrzés neve/címe -
message
: némi magyarázó szöveg -
level
: a súlyossági szint (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
A nyelvi fájlokat a következő módszerekkel frissítheti, amelyek mindegyike egy objektumot fogad el:
hsimp.setDictionary(lang)
Beállítja az “azonnal” és az “örökké” értékeit. Lásd https://github.com/howsecureismypassword/modules-main/blob/develop/dictionary.json
hsimp.setPeriodDictionary(lang)
Beállítja az időszakokat (pl. másodperc, nap, év stb.). Lásd https://github.com/howsecureismypassword/modules-period/blob/develop/period-dictionary.json
hsimp.setNamedNumberDictionary(lang)
Számnevek beállítása. Lásd https://github.com/howsecureismypassword/modules-named-number/blob/develop/named-number-dictionary.json
hsimp.setCheckerDictionary(lang)
Beállítja a különböző ellenőrzések szövegét. Lásd https://github.com/howsecureismypassword/modules-checker/blob/develop/checker-dictionary.json
Currying
A hsimp
függvény támogatja a curryinget. Ez azt jelenti, hogy egyszer beállíthatod az opciókat, majd a visszaadott függvényt használhatod több bemenet beállítására:
var attachHSIMP = hsimp({ // shared options here});attachHSIMP(document.getElementById("input-1"));attachHSIMP(document.getElementById("input-2"));
Licenc
The MIT License (MIT)
Copyright (c) 2015, Mark Nicholas Wales / Small Hadron Collider
Ezzel a szoftver és a kapcsolódó dokumentációs fájlok (a “szoftver”) másolatát megszerző személyeknek ingyenes engedélyt adunk, a Szoftverrel korlátozás nélkül kereskedni, beleértve korlátozás nélkül a Szoftver használatának, másolásának, módosításának, egyesítésének, közzétételének, terjesztésének, allicencelésének és/vagy másolatainak eladásának jogát, és engedélyezni, hogy azok a személyek, akiknek a Szoftvert átadták, ezt tegyék, az alábbi feltételek mellett:
A fenti szerzői jogi közleményt és ezt az engedélyezési közleményt a Szoftver minden példányának vagy jelentős részének tartalmaznia kell.
A SZOFTVERT “ÚGY, AHOGY VAN”, BÁRMIFÉLE KIFEJEZETT VAGY HALLGATÓLAGOS GARANCIA NÉLKÜL NYÚJTJUK, BELEÉRTVE, DE NEM KIZÁRÓLAGOSAN AZ ELADHATÓSÁGRA, A MEGHATÁROZOTT CÉLRA VALÓ ALKALMASSÁGRA ÉS A JOGSÉRTÉSMENTESSÉGRE VONATKOZÓ GARANCIÁKAT. A SZERZŐK VAGY A SZERZŐI JOGTULAJDONOSOK SEMMILYEN KÖRÜLMÉNYEK KÖZÖTT NEM VÁLLALNAK FELELŐSSÉGET SEMMILYEN KÖVETELÉSÉRT, KÁRÉRT VAGY EGYÉB FELELŐSSÉGÉRT, AKÁR SZERZŐDÉSES, KÁRTÉRÍTÉSI VAGY MÁS JOGCÍMEN, AMELY A SZOFTVERBŐL, ANNAK HASZNÁLATÁBÓL VAGY A SZOFTVERREL KAPCSOLATOS EGYÉB ÜGYLETEKBŐL ERED, VAGY AZZAL KAPCSOLATBAN ÁLL.