Nyní můžete použít měřič síly hesla howsecureismypassword.net na svých vlastních stránkách.
About
Společnost How Secure is My Password? umožňuje uživatelům zjistit, za jak dlouho by někdo prolomil jejich heslo. Kontroluje také 10 000 nejčastějších hesel a řadu dalších kontrol (například opakující se řetězce, telefonní čísla a slova následovaná čísly).
Další verze
Toto je vanilla JS verze pluginu. K dispozici jsou také další verze:
- jQuery Verze: howsecureismypassword/jquery
- WordPress Verze: howsecureismypassword/wordpress
Instalace
bower install hsimp
CSS
Zkopírujte soubor build/hsimp.css
do adresáře css
a zahrňte jej do dokumentu <head>
:
<link rel="stylesheet" href="/css/hsimp.css">
JavaScript
Zkopírujte soubor build/hsimp.min.js
do adresáře js
a zařaďte jej na konec dokumentu <body>
:
<script src="/js/hsimp.min.js"></script><!-- Other scripts go here -->
Soubor hsimp.min.js
lze volitelně použít s moduly AMD a Common JS pomocí názvu modulu hsimp
. Pokud není nalezen žádný zavaděč modulů, bude zpřístupněna globální funkce hsimp
.
Použití
Funkce hsimp
přijímá dva argumenty: konfigurační objekt a 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"));
Konfigurace
Konfigurační objekt podporuje tři vlastnosti:
-
options
: objekt možností, které ovlivňují výpočty -
outputTime
: funkce, které je předána délka času, který by byl potřebný k prolomení daného hesla -
outputChecks
: funkce, které je předán seznam výsledků různých kontrol
možnosti
V současné době jsou podporovány tři možnosti:
-
calculationsPerSecond
: předpokládaný počet výpočtů za sekundu, které by cracker mohl provést (výchozí: 10e9 – 10 miliard) -
good
: minimální doba (v sekundách), za kterou by bylo možné prolomit „dobré“ (zelené) heslo (výchozí: 31557600e6 – 1 milion let) -
ok
:
outputTime
Funkci outputTime
jsou předány dvě proměnné: čas, který by byl potřebný k prolomení hesla (jako lidsky čitelný řetězec), a (volitelně) vstup, na který se vztahuje.
var renderTime = function (time, input) { document.getElementById("password-strength").innerHTML = time;}hsimp({ outputTime: renderTime }, document.getElementById("password"));
outputChecks
Funkci outputChecks
jsou předány dvě proměnné: pole výsledků kontrol a (volitelně) vstup, na který odkazuje.
Každý výsledek kontroly je objekt se třemi vlastnostmi:
-
name
: název/název kontroly -
message
: nějaký vysvětlující text -
level
:
{ name: "Length: Very Short", message: "Your password is very short. The longer a password is the more secure it will be.", level: "warning"}
Jazyk
Jazykové soubory můžete aktualizovat pomocí následujících metod, z nichž každá přijímá objekt:
hsimp.setDictionary(lang)
Nastaví hodnoty pro „okamžitě“ a „navždy“. Viz https://github.com/howsecureismypassword/modules-main/blob/develop/dictionary.json
hsimp.setPeriodDictionary(lang)
Nastavuje periody (např. sekundy, dny, roky atd.). Viz https://github.com/howsecureismypassword/modules-period/blob/develop/period-dictionary.json
hsimp.setNamedNumberDictionary(lang)
Nastaví názvy čísel. Viz https://github.com/howsecureismypassword/modules-named-number/blob/develop/named-number-dictionary.json
hsimp.setCheckerDictionary(lang)
Nastaví znění různých kontrol. Viz https://github.com/howsecureismypassword/modules-checker/blob/develop/checker-dictionary.json
Currying
Funkce hsimp
podporuje currying. To znamená, že můžete jednou nastavit volby a pak pomocí vrácené funkce nastavit více než jeden vstup:
var attachHSIMP = hsimp({ // shared options here});attachHSIMP(document.getElementById("input-1"));attachHSIMP(document.getElementById("input-2"));
Licence
Licence MIT (MIT)
Copyright (c) 2015, Mark Nicholas Wales / Small Hadron Collider
Povolení je tímto uděleno zdarma každé osobě, která získá kopii tohoto softwaru a souvisejících dokumentačních souborů („software“), nakládat se Softwarem bez omezení, včetně práva používat, kopírovat, upravovat, slučovat, publikovat, distribuovat, poskytovat sublicence a/nebo prodávat kopie Softwaru, a umožnit osobám, kterým je Software poskytnut, aby tak činily za následujících podmínek:
Výše uvedené oznámení o autorských právech a toto oznámení o povolení musí být obsaženo ve všech kopiích nebo podstatných částech softwaru.
SOFTWARE JE POSKYTOVÁN „TAK, JAK JE“, BEZ JAKÝCHKOLI ZÁRUK, VÝSLOVNÝCH A PŘEDPOKLÁDANÝCH, VČETNĚ, NIKOLI VŠAK VÝLUČNĚ, ZÁRUK PRODEJNOSTI, VHODNOSTI PRO URČITÝ ÚČEL A NEPORUŠOVÁNÍ PRÁV. AUTOŘI ANI DRŽITELÉ AUTORSKÝCH PRÁV V ŽÁDNÉM PŘÍPADĚ NENESOU ODPOVĚDNOST ZA JAKÉKOLI NÁROKY, ŠKODY NEBO JINOU ODPOVĚDNOST, AŤ UŽ SMLUVNÍ, DELIKTNÍ NEBO JINOU, VYPLÝVAJÍCÍ ZE SOFTWARU, Z NĚJ NEBO V SOUVISLOSTI S NÍM NEBO S JEHO POUŽÍVÁNÍM ČI JINÝM NAKLÁDÁNÍM S NÍM.