Nyt voit käyttää howsecureismypassword.net-salasanojen vahvuusmittaria omilla sivustoillasi.
Tietoja
Sen sijaan, että sanoisit vain, että salasana on ”heikko” tai ”vahva”, Kuinka turvallinen on salasanani kertoo käyttäjillesi sen, kauanko keltäisi keneltäkään murtautua salasanaan. Se tarkistaa myös 10 000 yleisintä salasanaa sekä useita muita tarkistuksia (kuten toistuvat merkkijonot, puhelinnumerot ja sanat, joita seuraavat numerot).
Muut versiot
Tämä on laajennuksen vanilla JS-versio. Saatavilla on myös muita versioita:
- jQuery-versio: howsecureismypassword/jquery
- WordPress-versio: howsecureismypassword/wordpress
Asennus
bower install hsimp
CSS
Kopioi build/hsimp.css
-tiedosto css
-hakemistoon ja liitä se asiakirjaan <head>
:
<link rel="stylesheet" href="/css/hsimp.css">
JavaScript
Kopioi build/hsimp.min.js
-tiedosto js
-hakemistoosi ja sisällytä se asiakirjan alareunaan <body>
:
<script src="/js/hsimp.min.js"></script><!-- Other scripts go here -->
Tiedostoa hsimp.min.js
voidaan käyttää valinnaisesti AMD:n ja Common JS:n moduulinlatausohjelmilla moduulin nimeä hsimp
käyttäen. Jos moduulilataajaa ei löydy, käyttöön annetaan globaali hsimp
-toiminto.
Käyttö
Funktio hsimp
ottaa kaksi argumenttia: konfiguraatioobjektin ja HTML-elementin <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"));
Konfiguraatio
Konfiguraatioobjekti tukee kolmea ominaisuutta:
-
options
: laskutoimituksiin vaikuttavien vaihtoehtojen objekti -
outputTime
: funktio, jolle välitetään tietyn salasanan murtamiseen kuluva aika -
outputChecks
: funktio, jolle välitetään luettelo eri tarkistusten tuloksista
vaihtoehdot
Tällä hetkellä tuettuja vaihtoehtoja on kolme:
-
calculationsPerSecond
: oletettu laskutoimitusten määrä sekunnissa, jonka krakkeri voisi tehdä (oletusarvo: 10e9 – 10 miljardia) -
good
: vähimmäisaika (sekunteina), jonka ”hyvän” (vihreän) salasanan murtaminen kestäisi (oletusarvo: 31557600e6 – 1 miljoona vuotta) -
ok
: vähimmäisaika (sekunteina), joka ”ok”-salasanan (oranssi) murtaminen kestäisi (oletusarvo: 31557600 – 1 vuosi)
outputTime
Funktiolle outputTime
annetaan kaksi muuttujaa: aika, joka salasanan murtaminen kestäisi (ihmiselle luettavana merkkijonona), ja (valinnaisesti) syöttötieto (input), johon se viittaa.
var renderTime = function (time, input) { document.getElementById("password-strength").innerHTML = time;}hsimp({ outputTime: renderTime }, document.getElementById("password"));
outputChecks
Funktiolle outputChecks
välitetään kaksi muuttujaa: tarkistustulosten joukko ja (valinnaisesti) syöttötieto, johon se viittaa.
Jokainen tarkistustulos on olio, jolla on kolme ominaisuutta:
-
name
: tarkistuksen nimi/otsikko -
message
: jokin selittävä teksti -
level
: vakavuusaste (epävarma, varoitus, huomautus, saavutus)
{ name: "Length: Very Short", message: "Your password is very short. The longer a password is the more secure it will be.", level: "warning"}
Kieli
Voit päivittää kielitiedostot seuraavilla metodeilla, joista jokainen hyväksyy objektin:
hsimp.setDictionary(lang)
Asettaa arvot sanoille ”instantly” ja ”forever”. Katso https://github.com/howsecureismypassword/modules-main/blob/develop/dictionary.json
hsimp.setPeriodDictionary(lang)
Määrittää ajanjaksot (esim. sekunnit, päivät, vuodet jne.). Katso https://github.com/howsecureismypassword/modules-period/blob/develop/period-dictionary.json
hsimp.setNamedNumberDictionary(lang)
Määrittää numeroiden nimet. Katso https://github.com/howsecureismypassword/modules-named-number/blob/develop/named-number-dictionary.json
hsimp.setCheckerDictionary(lang)
Asettaa eri tarkistusten sanamuodot. Katso https://github.com/howsecureismypassword/modules-checker/blob/develop/checker-dictionary.json
Currying
Funktio hsimp
tukee curryingia. Tämä tarkoittaa, että voit asettaa asetukset kerran ja käyttää sitten palautettua funktiota useamman kuin yhden syötteen asettamiseen:
var attachHSIMP = hsimp({ // shared options here});attachHSIMP(document.getElementById("input-1"));attachHSIMP(document.getElementById("input-2"));
Lisenssi
MIT-lisenssi (MIT)
Copyright (c) 2015, Mark Nicholas Wales / Small Hadron Collider
Lupa myönnetään täten veloituksetta jokaiselle henkilölle, joka hankkii kopion tästä ohjelmistosta ja siihen liittyvistä dokumentaatiotiedostoista (”ohjelmisto”), käsitellä ohjelmistoa rajoituksetta, mukaan lukien rajoituksetta oikeus käyttää, kopioida, muuttaa, yhdistää, julkaista, levittää, alilisensoida ja/tai myydä ohjelmistosta kopioita, ja sallia henkilöiden, joille ohjelmisto on toimitettu, tehdä niin seuraavin ehdoin:
Yllä oleva tekijänoikeusilmoitus ja tämä lupailmoitus on sisällytettävä kaikkiin ohjelmiston kopioihin tai merkittäviin osiin.
OHJELMISTO TOIMITETAAN SELLAISENA KUIN SE ON, ILMAN MINKÄÄNLAISTA NIMENOMAISTA TAI IMPLISIITTISTÄ TAKUUTA, MUKAAN LUKIEN, MUTTA EI RAJOITTUEN, TAKUUSEEN MYYNTIKELPOISUUDESTA, SOVELTUVUUDESTA TIETTYYN TARKOITUKSEEN JA LOUKKAAMATTOMUUDESTA. TEKIJÄT TAI TEKIJÄNOIKEUKSIEN HALTIJAT EIVÄT MISSÄÄN TAPAUKSESSA OLE VASTUUSSA MISTÄÄN VAATEISTA, VAHINGOISTA TAI MUUSTA VASTUUSTA, OLIPA KYSE SOPIMUKSESTA, VAHINGONKORVAUSVELVOLLISUUDESTA TAI MUUSTA VAHINGONKORVAUSVELVOLLISUUDESTA, JOTKA JOHTUVAT OHJELMISTOSTA TAI SEN KÄYTÖSTÄ TAI MUUSTA KÄYTÖSTÄ TAI MUUSTA OHJELMISTOON LIITTYVÄSTÄ TOIMINNASTA.