howsecureismypassword / hsimp Archived

Nu kunt u de howsecureismypassword.net wachtwoord sterkte meter gebruiken op uw eigen sites.

Over

In plaats van alleen maar te zeggen dat een wachtwoord “zwak” of “sterk” is, laat How Secure is My Password? uw gebruikers weten hoe lang het zou duren voordat iemand hun wachtwoord kraakt. Het controleert ook tegen de top 10.000 meest voorkomende wachtwoorden, evenals een aantal andere controles (zoals herhaalde strings, telefoonnummers, en woorden gevolgd door cijfers).

Andere versies

Dit is de vanilla JS versie van de plugin. Andere versies zijn ook beschikbaar:

  • jQuery Versie: howsecureismypassword/jquery
  • WordPress Versie: howsecureismypassword/wordpress

Installatie

bower install hsimp

CSS

Kopieer het build/hsimp.css bestand naar uw css directory en neem het op in uw document <head>:

<link rel="stylesheet" href="/css/hsimp.css">

JavaScript

Kopieer het build/hsimp.min.js bestand naar uw js directory en neem het op onderaan het document <body>:

<script src="/js/hsimp.min.js"></script><!-- Other scripts go here -->

Het hsimp.min.js bestand kan optioneel gebruikt worden met AMD en Common JS module loaders door gebruik te maken van de module naam hsimp. Als er geen module-lader wordt gevonden, wordt een globale hsimp-functie beschikbaar gemaakt.

Gebruik

De hsimp functie neemt twee argumenten: een configuratie-object en een 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"));

Configuratie

Het configuratie-object ondersteunt drie eigenschappen:

  • options: een object van opties die berekeningen beïnvloeden
  • outputTime: een functie die wordt doorgegeven hoe lang het zou duren om het gegeven wachtwoord te kraken
  • outputChecks: een functie die wordt doorgegeven een lijst van resultaten van verschillende controles

opties

Er zijn momenteel drie ondersteunde opties:

  • calculationsPerSecond: het veronderstelde aantal berekeningen per seconde dat een kraker zou kunnen maken (standaard: 10e9 – 10 miljard)
  • good: de minimale tijd (in seconden) dat het kraken van een “goed” (groen) wachtwoord zou kosten (standaard: 31557600e6 – 1 miljoen jaar)
  • ok: de minimumtijd (in seconden) die nodig is om een “goed” (oranje) wachtwoord te kraken (standaard: 31557600 – 1 jaar)

outputTime

De functie outputTime krijgt twee variabelen door: de tijd die nodig is om het wachtwoord te kraken (als een door mensen leesbare tekenreeks) en (optioneel) de invoer waarnaar hij verwijst.

var renderTime = function (time, input) { document.getElementById("password-strength").innerHTML = time;}hsimp({ outputTime: renderTime }, document.getElementById("password"));

outputChecks

Aan de functie outputChecks worden twee variabelen doorgegeven: een array met controleresultaten en (optioneel) de invoer waarnaar wordt verwezen.

Elk controleresultaat is een object met drie eigenschappen:

  • name: de naam/titel van de controle
  • message: wat verklarende tekst
  • level: de ernstgraad (onveilig, waarschuwing, mededeling, prestatie)
{ name: "Length: Very Short", message: "Your password is very short. The longer a password is the more secure it will be.", level: "warning"}

Taal

U kunt de taalbestanden bijwerken met de volgende methoden die elk een object accepteren:

hsimp.setDictionary(lang)

Stelt de waarden voor “onmiddellijk” en “voor altijd” in. Zie https://github.com/howsecureismypassword/modules-main/blob/develop/dictionary.json

hsimp.setPeriodDictionary(lang)

Stelt de perioden in (bijv. seconden, dagen, jaren, enz.). Zie https://github.com/howsecureismypassword/modules-period/blob/develop/period-dictionary.json

hsimp.setNamedNumberDictionary(lang)

Zie voor het instellen van getalnamen. Zie https://github.com/howsecureismypassword/modules-named-number/blob/develop/named-number-dictionary.json

hsimp.setCheckerDictionary(lang)

Zie https://github.com/howsecureismypassword/modules-named-number/blob/develop/named-number-dictionary.json

voor het instellen van de bewoordingen van de verschillende controles. Zie https://github.com/howsecureismypassword/modules-checker/blob/develop/checker-dictionary.json

Currying

De functie hsimp ondersteunt currying. Dit betekent dat u de opties eenmaal kunt instellen en vervolgens de geretourneerde functie kunt gebruiken om meer dan één invoer in te stellen:

var attachHSIMP = hsimp({ // shared options here});attachHSIMP(document.getElementById("input-1"));attachHSIMP(document.getElementById("input-2"));

Licentie

De MIT Licentie (MIT)

Copyright (c) 2015, Mark Nicholas Wales / Small Hadron Collider

Hierbij wordt gratis toestemming verleend aan eenieder die een kopie van deze software en bijbehorende documentatiebestanden (de “Software”) verkrijgt, om de Software zonder beperking te verhandelen, inclusief zonder beperking het recht om de Software te gebruiken, te kopiëren, te wijzigen, samen te voegen, te publiceren, te distribueren, in sublicentie te geven en/of kopieën te verkopen, en om personen aan wie de Software wordt geleverd toe te staan dit te doen, onderworpen aan de volgende voorwaarden:

De bovenstaande copyrightvermelding en deze toestemmingsvermelding moeten worden opgenomen in alle kopieën of substantiële gedeelten van de Software.

DE SOFTWARE WORDT GELEVERD “ZOALS HET IS”, ZONDER GARANTIE VAN WELKE AARD DAN OOK, EXPLICIET OF IMPLICIET, MET INBEGRIP VAN MAAR NIET BEPERKT TOT DE GARANTIES VAN VERHANDELBAARHEID, GESCHIKTHEID VOOR EEN BEPAALD DOEL EN NIET-INBREUK. IN NO EVENT SHALL THEAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.