Nu kan du använda howsecureismypassword.net-mätaren för lösenordsstyrka på dina egna webbplatser.
Om
How Secure is My Password? låter användarna få reda på hur lång tid det tar för någon att knäcka deras lösenord. Den kontrollerar också de 10 000 vanligaste lösenorden samt ett antal andra kontroller (t.ex. upprepade strängar, telefonnummer och ord följt av siffror).
Andra versioner
Detta är vanilla JS-versionen av insticksprogrammet. Andra versioner finns också tillgängliga:
- jQuery Version: howsecureismypassword/jquery
- WordPress Version: howsecureismypassword/wordpress
Installation
bower install hsimp
CSS
Kopiera build/hsimp.css
-filen till din css
katalog och inkludera den i ditt dokument <head>
:
<link rel="stylesheet" href="/css/hsimp.css">
JavaScript
Kopiera filen build/hsimp.min.js
till katalogen js
och inkludera den längst ner i dokumentet <body>
:
<script src="/js/hsimp.min.js"></script><!-- Other scripts go here -->
Filen hsimp.min.js
kan valfritt användas med AMD- och Common JS-modulladdare med hjälp av modulnamnet hsimp
. Om ingen modulladdare hittas kommer en global hsimp
-funktion att göras tillgänglig.
Användning
Funktionen hsimp
tar emot två argument: ett konfigurationsobjekt och ett HTML <input>
-element
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"));
Konfiguration
Konfigurationsobjektet har stöd för tre egenskaper:
-
options
: -
outputTime
: en funktion som får den tid det skulle ta att knäcka det givna lösenordet -
outputChecks
: en funktion som får en lista med resultat från olika kontroller
alternativ
För närvarande finns det tre alternativ som stöds:
-
calculationsPerSecond
: det antagna antalet beräkningar per sekund som en knäckare kan göra (standard: 10e9 – 10 miljarder) -
good
: den minsta tiden (i sekunder) som det skulle ta att knäcka ett ”bra” (grönt) lösenord (standard: 31557600e6 – 1 miljon år) -
ok
: Minsta tid (i sekunder) som ett ”ok” (orange) lösenord skulle ta att knäcka (standard: 31557600 – 1 år)
outputTime
Funktionen outputTime
får två variabler: den tid som det skulle ta att knäcka lösenordet (i form av en mänskligt läsbar sträng) och (valfritt) den indata som den hänvisar till.
var renderTime = function (time, input) { document.getElementById("password-strength").innerHTML = time;}hsimp({ outputTime: renderTime }, document.getElementById("password"));
outputChecks
Funktionen outputChecks
får två variabler: en matris med kontrollresultat och (eventuellt) den indata som den hänvisar till.
Varje kontrollresultat är ett objekt med tre egenskaper:
-
name
: kontrollens namn/titel -
message
: viss förklarande text -
level
: allvarlighetsnivån (osäker, varning, meddelande, prestation)
{ name: "Length: Very Short", message: "Your password is very short. The longer a password is the more secure it will be.", level: "warning"}
Språk
Du kan uppdatera språkfilerna med hjälp av följande metoder som var och en accepterar ett objekt:
hsimp.setDictionary(lang)
Inställer värdena för ”instantly” och ”forever”. Se https://github.com/howsecureismypassword/modules-main/blob/develop/dictionary.json
hsimp.setPeriodDictionary(lang)
Inställer perioderna (t.ex. sekunder, dagar, år osv.). Se https://github.com/howsecureismypassword/modules-period/blob/develop/period-dictionary.json
hsimp.setNamedNumberDictionary(lang)
Inställer talnamn. Se https://github.com/howsecureismypassword/modules-named-number/blob/develop/named-number-dictionary.json
hsimp.setCheckerDictionary(lang)
Inställer ordalydelsen för de olika kontrollerna. Se https://github.com/howsecureismypassword/modules-checker/blob/develop/checker-dictionary.json
Currying
Funktionen hsimp
har stöd för currying. Det innebär att du kan ställa in alternativen en gång och sedan använda den returnerade funktionen för att ställa in mer än en ingång:
var attachHSIMP = hsimp({ // shared options here});attachHSIMP(document.getElementById("input-1"));attachHSIMP(document.getElementById("input-2"));
Licens
The MIT License (MIT)
Copyright (c) 2015, Mark Nicholas Wales / Small Hadron Collider
Har härmed ges tillstånd, utan kostnad, till varje person som erhåller en kopia av denna programvara och tillhörande dokumentationsfiler (”Programvaran”), att handla med programvaran utan begränsning, inklusive utan begränsning rätten att använda, kopiera, modifiera, sammanfoga, publicera, distribuera, underlicensiera och/eller sälja kopior av programvaran, och att tillåta personer till vilka programvaran tillhandahålls att göra detta, under förutsättning att följande villkor är uppfyllda:
Ovanstående meddelande om upphovsrätt och detta tillståndsmeddelande skall finnas med i alla kopior eller väsentliga delar av programvaran.
MJUKVARAN TILLHANDAHÅLLS ”I BEFINTLIGT SKICK”, UTAN NÅGON FORM AV GARANTI, UTTRYCKLIG ELLER UNDERFÖRSTÅDD, INKLUSIVE MEN INTE BEGRÄNSAT TILL GARANTIERNA FÖR SÄLJBARHET, LÄMPLIGHET FÖR ETT VISST ÄNDAMÅL OCH ICKE-INTRÅNG. FÖRFATTARNA ELLER UPPHOVSRÄTTSINNEHAVARNA KAN UNDER INGA OMSTÄNDIGHETER HÅLLAS ANSVARIGA FÖR KRAV, SKADOR ELLER ANNAT ANSVAR, OAVSETT OM DET RÖR SIG OM AVTAL, SKADESTÅND ELLER ANNAT, SOM UPPSTÅR PÅ GRUND AV ELLER I SAMBAND MED PROGRAMVARAN ELLER ANVÄNDNINGEN AV PROGRAMVARAN ELLER ANNAN HANTERING AV PROGRAMVARAN.