Nu kunt u de howsecureismypassword.net wachtwoord sterkte meter gebruiken op uw eigen sites.
- Over
- Andere versies
- Installatie
- CSS
- JavaScript
- Gebruik
- Configuratie
- opties
- outputTime
- outputChecks
- Taal
- hsimp.setDictionary(lang)
- hsimp.setPeriodDictionary(lang)
- hsimp.setNamedNumberDictionary(lang)
- hsimp.setCheckerDictionary(lang)
- voor het instellen van de bewoordingen van de verschillende controles. Zie https://github.com/howsecureismypassword/modules-checker/blob/develop/checker-dictionary.json Currying
- Licentie
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.