howsecureismypassword / hsimp Archiviert

Jetzt können Sie den howsecureismypassword.net-Passwortstärkemesser auf Ihren eigenen Websites verwenden.

Über

Anstatt nur zu sagen, dass ein Passwort „schwach“ oder „stark“ ist, zeigt How Secure is My Password? Ihren Benutzern, wie lange jemand brauchen würde, um ihr Passwort zu knacken. Es prüft auch die 10.000 häufigsten Passwörter sowie eine Reihe anderer Prüfungen (z. B. wiederholte Zeichenfolgen, Telefonnummern und Wörter gefolgt von Zahlen).

Andere Versionen

Dies ist die Vanilla JS-Version des Plugins. Andere Versionen sind ebenfalls verfügbar:

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

Installation

bower install hsimp

CSS

Kopieren Sie die build/hsimp.css Datei in Ihr css Verzeichnis und binden Sie sie in Ihr Dokument <head> ein:

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

JavaScript

Kopieren Sie die build/hsimp.min.js-Datei in Ihr js-Verzeichnis und binden Sie sie am Ende des Dokuments ein <body>:

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

Die hsimp.min.js-Datei kann optional mit AMD- und Common JS-Modulladern unter Verwendung des Modulnamens hsimp verwendet werden. Wenn kein Modullader gefunden wird, wird eine globale hsimp Funktion zur Verfügung gestellt.

Verwendung

Die hsimp Funktion nimmt zwei Argumente entgegen: ein Konfigurationsobjekt und ein 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

Das Konfigurationsobjekt unterstützt drei Eigenschaften:

  • options: ein Objekt mit Optionen, die sich auf Berechnungen auswirken
  • outputTime: eine Funktion, der die Zeitspanne übergeben wird, die benötigt wird, um das angegebene Passwort zu knacken
  • outputChecks: eine Funktion, der eine Liste von Ergebnissen verschiedener Prüfungen übergeben wird

Optionen

Zurzeit gibt es drei unterstützte Optionen:

  • calculationsPerSecond: die angenommene Anzahl von Berechnungen pro Sekunde, die ein Cracker durchführen könnte (Standard: 10e9 – 10 Milliarden)
  • good: die Mindestzeit (in Sekunden), die ein „gutes“ (grünes) Passwort zum Knacken benötigen würde (Standard: 31557600e6 – 1 Million Jahre)
  • ok: die Mindestzeit (in Sekunden), die ein „gutes“ (orangefarbenes) Passwort zum Knacken benötigen würde (Standardwert: 31557600 – 1 Jahr)

outputTime

Der Funktion outputTime werden zwei Variablen übergeben: die Zeit, die zum Knacken des Passworts benötigt würde (als menschenlesbare Zeichenkette) und (optional) die Eingabe, auf die sie sich bezieht.

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

outputChecks

Der outputChecks-Funktion werden zwei Variablen übergeben: ein Array von Prüfergebnissen und (optional) die Eingabe, auf die sie sich bezieht.

Jedes Prüfergebnis ist ein Objekt mit drei Eigenschaften:

  • name: der Name/Titel der Prüfung
  • message: ein erklärender Text
  • level: der Schweregrad (unsicher, Warnung, Hinweis, Erfolg)
{ name: "Length: Very Short", message: "Your password is very short. The longer a password is the more secure it will be.", level: "warning"}

Sprache

Sie können die Sprachdateien mit den folgenden Methoden aktualisieren, die jeweils ein Objekt akzeptieren:

hsimp.setDictionary(lang)

Setzt die Werte für „instantly“ und „forever“. Siehe https://github.com/howsecureismypassword/modules-main/blob/develop/dictionary.json

hsimp.setPeriodDictionary(lang)

Setzt die Zeiträume (z.B. Sekunden, Tage, Jahre, usw.). Siehe https://github.com/howsecureismypassword/modules-period/blob/develop/period-dictionary.json

hsimp.setNamedNumberDictionary(lang)

Stellt Zahlennamen ein. Siehe https://github.com/howsecureismypassword/modules-named-number/blob/develop/named-number-dictionary.json

hsimp.setCheckerDictionary(lang)

Stellt den Wortlaut der verschiedenen Prüfungen ein. Siehe https://github.com/howsecureismypassword/modules-checker/blob/develop/checker-dictionary.json

Currying

Die hsimp Funktion unterstützt Currying. Das bedeutet, dass Sie die Optionen einmal setzen und dann die zurückgegebene Funktion verwenden können, um mehr als eine Eingabe einzurichten:

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

Lizenz

Die MIT-Lizenz (MIT)

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

Jeder Person, die eine Kopie dieser Software und der zugehörigen Dokumentationsdateien (die „Software“) erhält, wird hiermit die Erlaubnis erteilt, die Software ohne Einschränkung zu nutzen, zu kopieren, zu modifizieren, zusammenzuführen, zu veröffentlichen, zu vertreiben, Unterlizenzen zu vergeben und/oder Kopien der Software zu verkaufen, und Personen, denen die Software zur Verfügung gestellt wird, dies zu gestatten, vorbehaltlich der folgenden Bedingungen:

Der obige Urheberrechtshinweis und dieser Genehmigungshinweis müssen in allen Kopien oder wesentlichen Teilen der Software enthalten sein.

DIE SOFTWARE WIRD „SO WIE SIE IST“ ZUR VERFÜGUNG GESTELLT, OHNE AUSDRÜCKLICHE ODER STILLSCHWEIGENDE GEWÄHRLEISTUNG JEGLICHER ART, EINSCHLIESSLICH, ABER NICHT BESCHRÄNKT AUF DIE GEWÄHRLEISTUNG DER MARKTGÄNGIGKEIT, DER EIGNUNG FÜR EINEN BESTIMMTEN ZWECK UND DER NICHTVERLETZUNG VON RECHTEN DRITTER. UNTER KEINEN UMSTÄNDEN HAFTEN DIE AUTOREN ODER URHEBERRECHTSINHABER FÜR JEGLICHE ANSPRÜCHE, SCHÄDEN ODER SONSTIGE HAFTUNG, SEI ES AUS VERTRAG, UNERLAUBTER HANDLUNG ODER ANDERWEITIG, DIE SICH AUS DER SOFTWARE ODER DER NUTZUNG ODER DEM SONSTIGEN UMGANG MIT DER SOFTWARE ERGEBEN.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.