Nu kan du bruge passwordstyrkemåleren howsecureismypassword.net på dine egne websteder.
Om
I stedet for blot at sige, at et password er “svagt” eller “stærkt”, lader How Secure is My Password? dine brugere vide, hvor lang tid det ville tage nogen at knække deres password. Den kontrollerer også de 10.000 mest almindelige adgangskoder samt en række andre kontroller (f.eks. gentagne strenge, telefonnumre og ord efterfulgt af tal).
Andre versioner
Dette er vanilla JS-versionen af plugin’et. Der findes også andre versioner:
- jQuery Version: howsecureismypassword/jquery
- WordPress Version: howsecureismypassword/wordpress
Installation
bower install hsimp
CSS
Kopier build/hsimp.css
-filen til din css
mappe og medtag den i dit dokument <head>
:
<link rel="stylesheet" href="/css/hsimp.css">
JavaScript
Kopier filen build/hsimp.min.js
til din js
-mappe, og inkluder den nederst i dokumentet <body>
:
<script src="/js/hsimp.min.js"></script><!-- Other scripts go here -->
Filen hsimp.min.js
kan eventuelt bruges med AMD- og Common JS-modulindlæserne ved hjælp af modulnavnet hsimp
. Hvis der ikke findes nogen modullæsser, vil en global hsimp
-funktion blive stillet til rådighed.
Anvendelse
Funktionen hsimp
tager to argumenter: et konfigurationsobjekt og et 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 understøtter tre egenskaber:
-
options
: -
outputTime
: en funktion, der får overdraget den tid, det ville tage at knække den givne adgangskode -
outputChecks
: en funktion, der får overdraget en liste over resultater fra forskellige kontroller
indstillinger
På nuværende tidspunkt er der tre understøttede indstillinger:
-
calculationsPerSecond
: det formodede antal beregninger pr. sekund, som en cracker kan foretage (standard: 10e9 – 10 milliarder) -
good
: den mindste tid (i sekunder), som det vil tage at knække et “godt” (grønt) kodeord (standard: 31557600e6 – 1 million år) -
ok
: den mindste tid (i sekunder), det ville tage at knække et “ok” (orange) kodeord (standard: 31557600 – 1 år)
outputTime
Funktionen outputTime
får to variabler: den tid, det ville tage at knække kodeordet (som en menneskeligt læsbar streng) og (valgfrit) det input, som den refererer til.
var renderTime = function (time, input) { document.getElementById("password-strength").innerHTML = time;}hsimp({ outputTime: renderTime }, document.getElementById("password"));
outputChecks
Funktionen outputChecks
får overdraget to variabler: et array af kontrolresultater og (eventuelt) det input, som den henviser til.
Hvert kontrolresultat er et objekt med tre egenskaber:
-
name
: kontrolnavnet/titlen -
message
: noget forklarende tekst -
level
: sværhedsgrad (usikker, advarsel, meddelelse, præstation)
{ name: "Length: Very Short", message: "Your password is very short. The longer a password is the more secure it will be.", level: "warning"}
Sprog
Du kan opdatere sprogfilerne ved hjælp af følgende metoder, som hver især accepterer et objekt:
hsimp.setDictionary(lang)
Sætter værdierne for “instantly” og “forever”. Se https://github.com/howsecureismypassword/modules-main/blob/develop/dictionary.json
hsimp.setPeriodDictionary(lang)
Sætter perioderne (f.eks. sekunder, dage, år osv.) op. Se https://github.com/howsecureismypassword/modules-period/blob/develop/period-dictionary.json
hsimp.setNamedNumberDictionary(lang)
Sætter talnavne op. Se https://github.com/howsecureismypassword/modules-named-number/blob/develop/named-number-dictionary.json
hsimp.setCheckerDictionary(lang)
Sætter ordlyden af de forskellige kontroller op. Se https://github.com/howsecureismypassword/modules-checker/blob/develop/checker-dictionary.json
Currying
Den hsimp
funktion understøtter currying. Det betyder, at du kan indstille indstillingerne én gang og derefter bruge den returnerede funktion til at indstille mere end én indgang:
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
Der gives hermed gratis tilladelse til enhver person, der modtager en kopi af denne software og de tilhørende dokumentationsfiler (“softwaren”), til at handle med softwaren uden begrænsninger, herunder uden begrænsning retten til at bruge, kopiere, ændre, sammenføje, offentliggøre, distribuere, give underlicens og/eller sælge kopier af softwaren, og til at tillade personer, til hvem softwaren udleveres, at gøre dette, på følgende betingelser:
Overstående meddelelse om ophavsret og denne meddelelse om tilladelse skal være indeholdt i alle kopier eller væsentlige dele af softwaren.
SOFTWAREN LEVERES “SOM DEN ER”, UDEN NOGEN FORM FOR GARANTI, UDTRYKKELIG ELLER STILTIENDE, HERUNDER, MEN IKKE BEGRÆNSET TIL, GARANTIERNE FOR SALGBARHED, EGNETHED TIL ET BESTEMT FORMÅL OG IKKE-KRÆNKELSE AF RETTIGHEDER. UNDER INGEN OMSTÆNDIGHEDER KAN FORFATTERNE ELLER INDEHAVERNE AF OPHAVSRETTEN HOLDES ANSVARLIGE FOR KRAV, SKADER ELLER ANDET ANSVAR, UANSET OM DET ER I EN KONTRAKTSAG, EN ERSTATNINGSSAG ELLER PÅ ANDEN MÅDE, DER OPSTÅR PÅ GRUND AF ELLER I FORBINDELSE MED SOFTWAREN ELLER BRUGEN AF ELLER ANDEN HANDEL MED SOFTWAREN.