howsecureismypassword / hsimp Archived

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.

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.