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.