De oprichting van een simpel wachtwoord kracht te controleren

, de bouw van een eenvoudige code kracht te controleren,,,,,,,,,, deelt, delen, delen,,,,,, het netwerk van maandag wat in tuts + koers zal dalen tot slechts drie dollar.Niet' niet missen. En die instant feedback is nu.Waarom wil beperken tot het onderzoek een gebruikersnaam en een e - mailadres?Waarom niet uitgebreid tot een snelle visuele terugkoppeling van kracht, het wachtwoord van de gebruiker?Vandaag, gaan we kijken hoe het gebruik van de bibliotheek is een simpel wachtwoord intensiteit controleren regelmatig uitdrukking en een eenvoudige algoritmen,,,,,,, van de auteur van een woord, omdat het merendeel van de deskundige op het gebied van de veiligheid zullen je vertellen dat de gebruiker is altijd de zwakste schakel.Als de gebruiker kiest voor een zeer onverstandig het wachtwoord in het systeem als de veiligste is kwetsbaar.Met dit in gedachten, de recente tendens lijkt te zijn voor een snelle feedback aan de gebruiker het wachtwoord van kracht kan worden uitgebreid of gewijzigd, zodat de gebruiker van de code en het veilig maken.,,, en vandaag zullen we het gebruik van goede bibliotheek, een paar gewone uitdrukking en het creëren van een fundamentele wachtwoord kracht moet van heel simpel algoritme.Geïnteresseerd?Laten we meteen beginnen.Hier is een demonstratie, wij proberen op te bouwen. Het doel van vandaag:, het doel van ons ontwerp, dat een specifieke functie is relatief klein.Die visie van feedback aan de gebruikers, de kracht, hun wachtwoorden.Dit betekent dat er geen één druk op de knop voor de test van de sterkte van de gebeurtenissen is de belangrijkste gebeurtenis kan een bord.Ik koos keyup omdat dit het meest geschikt is voor de specifieke behoeften van ons, voor de visuele terugkoppeling en tot wijziging van de tekst weliswaar nuttig is, een ernstig gebrek aan.Ik kies de veranderen de kleur van de achtergrond voor het aantrekken van de aandacht van de gebruiker, extra kwantificeerbare feedback, zodat de gebruikers weten in welke sector van de code kan worden verbeterd en hoe het gebrek aan macht, en nu hebben we ons volledig op de behoeften, kunnen we de volgende fase van het actieplan voort te zetten, en nu moeten wij de besluiten moeten doen, de volgorde van de afzonderlijke maatregelen.,, de gebeurtenis van de input keyup gebeurtenissen, zodat de gebeurtenis die het controleren van de input van alle individuele steun maar namens de methode, de methode moet aandacht worden besteed aan de analyse van de input en de analyse van de grammatica, de complexiteit en de afdrukken van de resultaten, maar de lengte groter is dan verwacht. De inbreng van de laagste om verspilling van CPU - cyclus ongeldig om ervoor te zorgen dat de gebeurtenis de procedure voor de controle van de terugkeer van de trekker, in welke omstandigheden moet een gebeurtenis.,,, in het kort te rekenen, schrijven en dicht bij de interesse, ik heb besloten om gebruik te maken van een zeer fundamentele algoritme.De methode voor de analyse van de string, geeft extra lengte, nummers en symbolen letters of cijfers en letters of cijfers alleen de input van de input van de bonus.Want dit is de werkingssfeer van de artikelen, we gaan niet naar de match van de traditionele wijze van of het controleren van de input woordenboek.Als je geïnteresseerd bent, kan ik een artikel in de toekomst doen, eerst controleren in de lengte van de rij.Als die groter is dan de minimale lengte, het geven van een benchmark voor 50 punten.Anders zal het 0.In het kader van een string van elk karakter in de controleren, of is het een symbool, cijfers of letters.Als dat het geval is, let op haar.En controleer dan de string hoeveel extra tekens, meer dan de aanbevolen minimum, en voor elk van de bonus van karakter.Als het touw uit de letters, cijfers en symbolen of alle drie de combinatie van bonussen, kan ook.Grant bonus voor elk te controleren als de snaren bestaan, bevat slechts kleine letters of cijfers, als dat het geval is, straffen.Plus alle cijfers, en besloten de desbetreffende code kracht, dit is het algoritme op lange en korte.Het zal niet erg bescheiden maar niet veel goede wachtwoord.Heb je deze keer zien we het beter begrijpen van de code, de kern van de etikettering, presentatie van de website http: //europa.eu.int) ziet er als volgt uit: <.Doctype html> < http: //europa.eu.int lang= "en GB" > < head> < title> simpel wachtwoord kan door NetTuts< Checker siddharth voor; /title> < link = "text/css": /css/style.css "rel =" stylesheet "/> < script type =" tekst /javascript "src =" js/jquery.js "> < /script> < script type =" tekst /javascript "src =" js/mocha.js "> < /script> < /head> < body> < div =" CONTAINER "> < h1> het creëren van een simpel wachtwoord kracht checker< /h1> < H2 =" bolded "> siddharth voor de deur. Mensen op de Tuts< /h2> < p> - in uw password je visuele om met de kracht van je password.< /p> < p> i waarborgen van je, ik ben niet stealing passwords..Formulier voor het indienen van niet.Als je verdacht is, kan je het zien van de bron.:) < /P > < div = "blok" > < id = "inputpassword" /> < div = "complex" = "standaard" > het invoeren van een willekeurige waarde < /div > < /div > < die = "blok" > < div = "resultaten" = "standaard" > < verdeling; /div > < div = "detail" > < /div > < /div > < /div > < /body > < /html >, in weerwil van alle gebruikte merken.Aandacht en inputpassword, id element, dat is de complexiteit van de elementen van een id, betekent dit dat een id van die elementen, het wachtwoord en de bijzonderheden van de schuld, dat we ook op dit punt, bibliotheek en onze eigen script.Als je extra punten voor ons script van documenten, de naam van de CSS lichaam {lettertype: "lucida Grande", "Arial" sans serif lettertype: H1;} {30px; vol: 0; deposito 's: 0;} H2 (lettergrootte: 18px; vol: 0; deposito' s: 30px 0 0 aangebracht; in de breedte: 288px} {; lengte: 30px; de marge: 0 0 0; 3px oude aangebracht; de lettergrootte: 22px; het lettertype familie: "lucida Grande", "Arial" sans serif;} {# de breedte van de verpakking: 820px; de marge: -; de marge: auto - vulling: 0 0 0;;). Blok (breedte: [[beeld: 2005 - 0: 0; de marge van auto 's;}&#complexiteit,&#resultaten (breedte: [[beeld: 2005; 3px gevuld: 0; lengte: 20px; kleur:� de lettergrootte: 14; aanpassing van de tekst: het centrum van de #;} {marge: 0 0 20px 30px;{}. Standaard achtergrond kleur:&#«;} {achtergrond kleur: #. Zwak ff5353;} {. Sterke achtergrond kleur:&#fad054;} {. Sterke achtergrond kleur:]c9f4;). De sterkste {achtergrond kleur:&#b6ff6c span waarde;} {. Die rechten worden;.;}, Maar de ketel plaat CSS opmaak.We hebben een soort op de bodem van de kracht van de cijfers voor ieder afzonderlijk.We voegen ze bij de elementen die nodig zijn voor de verwezenlijking van toen, en nu hebben we een solide kader, een aantal fundamentele vorm, kunnen we beginnen met de programmering van de functie die zij nodig hebben.Let op, onze is op grote schaal gebruikt.Eventueel gekoppeld aan Google) en, indien nodig, variabelen en de gebeurtenis omdat veel show gaan, moeten we een aantal variabelen te redden.Nu dat is een demonstratie in plaats van de code, heb ik besloten om in plaats van de door de verklaring van variabelen als de verklaring die de functie interne en - methoden beschikken. Var. Strpassword; var charpassword; var = $("# complexiteit"); var minpasswordlength = 8; var basescore = 0, met Een score van = 0; var. Num = {}; num.excess = 0; num.upper = 0; num.numbers = 0; num.symbols = 0; var BONUS = {}; bonus.excess = 3; bonus.upper = 4; bonus.numbers = 5; bonus.symbols = 5; bonus.combo = 0; bonus.flatlower = 0; bonus.flatnumber = 0; de Naam, het variabele is heel standaard tarief, maar ik geef een armoedig toch.Strpassword, voer, behoud van waarden, charpassword, is een generator die elk karakter van de complexiteit van het touw, en die in het bezit is van het elementen.We bepalen ook de minimale lengte, scoren en radicalen, creëren we een snelle - om tegemoet te komen aan de aanvullende karakter, hoofdletters en cijfers en symbolen.We doen dezelfde prijs.- red, num, aantal personen, bonussen, dat is de bonus - hasj.Je kan het creëren van afzonderlijke variabelen, maar ik denk dat dit ziet er schoner.En, niet te vergeten de gebeurtenis in verband met de zaak.En $("# inputpassword gebonden (" "). Keyup", checkval);,, pakken we ze. En de eerste fout, de oorzaak van het probleem is het feit dat we met uitsluiting van alle andere programma 's.Dit zou geen probleem zijn als de recente aanvullende soort voorrang heeft boven de andere.Helaas werkt het niet zo.Hier is een snelle reparatie, functionele outputresult () {als ($("# inputpassword"). () = = "val") {complexiteit.: //europa.eu.int /comm /("in een willekeurige waarde"). RemoveClass ("de meest zwakke samenwerking").AddClass ("standaard"); Anders als (charpassword.length} < minpasswordlength) {complexiteit.: //europa.eu.int /comm /("ten minste" + minpasswordlength + "Alsjeblieft."). removeClass ("sterke sterker de sterkste").AddClass ("zwakke");} anders als (score < 50) {complexiteit.: //europa.eu.int /comm /("zwak!"). removeClass ("sterke sterker de sterkste").AddClass ("zwakke");} anders als (score > = 50 & & score < 75) {complexiteit.: //europa.eu.int /comm /(de "gemiddelde".). removeClass ("de sterkste.AddClass") ("");} anders als (score > = 75 & & score < 100) {complexiteit.: //europa.eu.int /comm /("sterke!"). removeClass (de "sterkste").AddClass ("");} anders als (score > = 100) {complexiteit.: //europa.eu.int /comm /("de.").addClass (de "sterkste"); de details) ///////bijwerking van de codes}, u vraagt zich misschien af waarom we niet uitsluiten dat elke klas hier.Het antwoord is heel eenvoudig: we gebruik maken van een van de fundamentele kenmerken van de CSS -:,,.Als je dat voor elke categorie van de volgorde van de verklaring in de CSS dossier, je vindt, bij verstek, voor de eerste keer, is het sterkste, betekent dit dat als een element van de sterkste, zou het voor een klasse, klasse boven elke wijziging.Dus we moeten het schrappen van de relevante soorten.Bijvoorbeeld, voor een element is, sterk, we zullen worden geschrapt, sterker, de sterkste, klasse.De tweede keer fouten bestaan, is het gevolg van een nieuwe gebeurtenissen, persoonlijke variabelen niet resetten.Ze door naar het volgende incident, en.Om dit probleem op te lossen, creëren we een kortere weg, zullen alle relevante variabelen en de toevoeging van het checkval, een gebeurtenis, zodat elke doos voor de bijwerking van de tekst, de functie () {strpassword = $("# inputpassword"). Val (); charpassword = strpassword splitsing ("").; num.excess = 0; num.upper = 0; num.numbers = 0; num.symbols = 0; bonus.combo = 0; bonus.flatlower = 0; bonus.flatnumber = 0; basescore = 0; de score = 0;} {(functie) () checkval; ///////andere beperkingen van de code},,,, als je altijd met demo wat, vind je dat, Pa w0rd dollar, werd als een wachtwoord, en het feit dat het zo snel zou breken.Dit is omdat we de eenvoud van het algoritme.We controleren geen tekens vervangen.Of de gemeenschappelijke code of de wijze van dat ding.Dit zal leiden tot een toename van de moeilijkheden van deze handleiding, vermindering van de affiniteit van, en ik denk niet dat ik dit schreef.Dit is bedoeld als een fundamentele wachtwoord kracht te controleren.Als je de rundvlees -, en kan je nog meer regelmatig uitdrukking te controleren en de wijze van aanpassing van de letters herhaald., op zoek naar de input voor het woordenboek is buiten het bestek van dit artikel, moet een groot woordenboek gedownload van de cliënt of op een server systeem om het te doen.Nogmaals, ik wil voorkomen dat ze deze keer., conclusies, daar heb je het: het toevoegen van een gebruikersvriendelijke functies, zodat de gebruikers weten dat hij gewoon het wachtwoord van kracht, je project.Hoop dat u dit interessant voor je les, het is nuttig.Als je in de problemen op het gebruik van deze code in uw project en andere plaatsen en hier, wat is het probleem?Mooie dingen zeggen?De kritiek?Sloeg de opmerkingen, wil ik een opmerking maken.Gelukkig code.,, op Twitter ons volgen, of abonnementen voor de beste ontwikkeling van de website online lessen Nettuts+ RSS.,,,



Hovers
Demo image
The Algorithm
Limitation with the current implementation



Previous:
Next Page: