howsecureismypassword / hsimp Arkiverad

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

Lämna ett svar

Din e-postadress kommer inte publiceras.