howsecureismypassword / hsimp Arkiveret

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 cssmappe 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.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.