
Ստուգեք գաղտնաբառի հզորությունը JavaScript-ի կամ jQuery-ի և կանոնավոր արտահայտությունների միջոցով (սերվերի կողմի օրինակներով նույնպես):
Ես որոշ ուսումնասիրություններ էի կատարում `օգտագործելու համար Գաղտնաբառ ուժի ստուգիչի լավ օրինակ գտնելու վերաբերյալ JavaScript և Կանոնավոր արտահայտություններ (Ռեգեքս) Իմ աշխատանքի հավելվածում մենք հետադարձ գրառում ենք անում՝ ստուգելու գաղտնաբառի ուժը, և դա բավականին անհարմար է մեր օգտատերերի համար:
Ի՞նչ է Regex- ը:
Սովորական արտահայտությունը նիշերի հաջորդականությունն է, որոնք սահմանում են որոնման օրինակը: Սովորաբար, նման օրինաչափություններն օգտագործվում են լարերի որոնման ալգորիթմների միջոցով գտնել or գտնել և փոխարինել տողերի վրա գործողություններ կամ մուտքի վավերացման համար:
Այս հոդվածը հաստատ ձեզ սովորական արտահայտություններ սովորեցնելու համար չէ: Պարզապես իմացեք, որ Կանոնավոր արտահայտություններ օգտագործելու հնարավորությունը բացարձակապես պարզեցնելու է ձեր զարգացումը, երբ տեքստի նմուշներ եք որոնում: Կարևոր է նաև նշել, որ զարգացման լեզուների մեծ մասը օպտիմիզացրել են արտահայտության կանոնավոր օգտագործումը… այնպես որ, քան թե վերլուծեն և որոնեն տողերը փուլ առ փուլ, Regex- ը սովորաբար շատ ավելի արագ է և՛ սերվերի, և՛ հաճախորդի կողմից:
Ես գտա մինչև բավականին համացանց օրինակ մի քանի հիանալի կանոնավոր արտահայտություններ, որոնք փնտրում են երկարության, նիշերի և նշանների համադրություն: Այնուամենայնիվ, ծածկագիրը մի փոքր չափազանցված էր իմ ճաշակի համար և հարմարեցված .NET-ի համար: Այսպիսով, ես պարզեցրեցի կոդը և դրեցի այն JavaScript-ում: Սա ստիպում է այն իրական ժամանակում վավերացնել գաղտնաբառի ուժը հաճախորդի բրաուզերում՝ նախքան այն ետ տեղադրելը… և օգտատիրոջը տրամադրում է որոշակի արձագանք գաղտնաբառի ուժի վերաբերյալ:
Մուտքագրեք գաղտնաբառ
Ստեղնաշարի յուրաքանչյուր հարվածի դեպքում գաղտնաբառը ստուգվում է սովորական արտահայտության դեմ, այնուհետև օգտվողին հետադարձ կապ է տրամադրվում դրա տակ գտնվող տարածության տակ:
JavaScript-ի գաղտնաբառի հզորության ֆունկցիան
The Կանոնավոր արտահայտություններ կատարեք ֆանտաստիկ աշխատանք՝ նվազագույնի հասցնելով ծածկագրի երկարությունը: Javascript-ի այս ֆունկցիան ստուգում է գաղտնաբառի ուժը և պարզում է, թե արդյոք այն փակելը հեշտ է, միջին, դժվար կամ չափազանց դժվար է գուշակել: Երբ անձը տպում է, այն ցույց է տալիս խորհուրդներ՝ խրախուսելու նրան լինել ավելի ուժեղ: Այն վավերացնում է գաղտնաբառը՝ հիմնվելով.
- Երկարություն – Եթե երկարությունը 8 նիշից պակաս կամ ավելի է:
- Խառը դեպք – Եթե գաղտնաբառը ունի մեծ և փոքրատառ նիշեր:
- Համարներ – Եթե գաղտնաբառը ներառում է թվեր:
- Հատուկ Անձնավորություններ – Եթե գաղտնաբառը ներառում է հատուկ նիշեր:
Գործառույթը ցույց է տալիս դժվարությունը, ինչպես նաև գաղտնաբառի հետագա խստացման որոշ խորհուրդներ:
function checkPasswordStrength(password) {
// Initialize variables
var strength = 0;
var tips = "";
// Check password length
if (password.length < 8) {
tips += "Make the password longer. ";
} else {
strength += 1;
}
// Check for mixed case
if (password.match(/[a-z]/) && password.match(/[A-Z]/)) {
strength += 1;
} else {
tips += "Use both lowercase and uppercase letters. ";
}
// Check for numbers
if (password.match(/\d/)) {
strength += 1;
} else {
tips += "Include at least one number. ";
}
// Check for special characters
if (password.match(/[^a-zA-Z\d]/)) {
strength += 1;
} else {
tips += "Include at least one special character. ";
}
// Return results
if (strength < 2) {
return "Easy to guess. " + tips;
} else if (strength === 2) {
return "Medium difficulty. " + tips;
} else if (strength === 3) {
return "Difficult. " + tips;
} else {
return "Extremely difficult. " + tips;
}
}
Եթե ցանկանում եք թարմացնել հուշման գույնը, կարող եք դա անել նաև՝ թարմացնելով ծածկագիրը // Return results
line.
// Get the paragraph element
var strengthElement = document.getElementById("passwordStrength");
// Return results
if (strength < 2) {
strengthElement.textContent = "Easy to guess. " + tips;
strengthElement.style.color = "red";
} else if (strength === 2) {
strengthElement.textContent = "Medium difficulty. " + tips;
strengthElement.style.color = "orange";
} else if (strength === 3) {
strengthElement.textContent = "Difficult. " + tips;
strengthElement.style.color = "black";
} else {
strengthElement.textContent = "Extremely difficult. " + tips;
strengthElement.style.color = "green";
}
jQuery գաղտնաբառի հզորության գործառույթ
jQuery-ի հետ մենք իրականում պետք չէ ձևը գրել oninput թարմացմամբ.
<form>
<label for="password">Enter password:</label>
<input type="password" id="password">
<p id="password-strength"></p>
</form>
Մենք կարող ենք նաև փոփոխել հաղորդագրությունների գույնը, եթե ցանկանում ենք:
$(document).ready(function() {
$('#password').on('input', function() {
var password = $(this).val();
var strength = 0;
var tips = "";
// Check password length
if (password.length < 8) {
tips += "Make the password longer. ";
} else {
strength += 1;
}
// Check for mixed case
if (password.match(/[a-z]/) && password.match(/[A-Z]/)) {
strength += 1;
} else {
tips += "Use both lowercase and uppercase letters. ";
}
// Check for numbers
if (password.match(/\d/)) {
strength += 1;
} else {
tips += "Include at least one number. ";
}
// Check for special characters
if (password.match(/[^a-zA-Z\d]/)) {
strength += 1;
} else {
tips += "Include at least one special character. ";
}
// Update the text and color based on the password strength
var passwordStrengthElement = $('#password-strength');
if (strength < 2) {
passwordStrengthElement.text("Easy to guess. " + tips);
passwordStrengthElement.css('color', 'red');
} else if (strength === 2) {
passwordStrengthElement.text("Medium difficulty. " + tips);
passwordStrengthElement.css('color', 'orange');
} else if (strength === 3) {
passwordStrengthElement.text("Difficult. " + tips);
passwordStrengthElement.css('color', 'black');
} else {
passwordStrengthElement.text("Extremely difficult. " + tips);
passwordStrengthElement.css('color', 'green');
}
});
});
Կոշտացնել ձեր գաղտնաբառի հայցը
Կարևոր է, որ դուք ոչ միայն հաստատեք գաղտնաբառի կառուցումը ձեր Javascript- ի շրջանակներում: Սա հնարավորություն կտա յուրաքանչյուրին, ով զննարկչի զարգացման գործիքներ ունի, շրջանցել սցենարը և օգտագործել ցանկացած գաղտնաբառ, որը կցանկանար: Դուք պետք է ՄԻՇՏ օգտագործեք սերվերի կողմից արված ստուգումը ՝ գաղտնաբառի ուժը հաստատելու համար ՝ նախքան այն ձեր համակարգչում պահելը:
PHP գործառույթ՝ գաղտնաբառի հզորության համար
function checkPasswordStrength($password) {
// Initialize variables
$strength = 0;
// Check password length
if (strlen($password) < 8) {
return "Easy to guess";
} else {
$strength += 1;
}
// Check for mixed case
if (preg_match("/[a-z]/", $password) && preg_match("/[A-Z]/", $password)) {
$strength += 1;
}
// Check for numbers
if (preg_match("/\d/", $password)) {
$strength += 1;
}
// Check for special characters
if (preg_match("/[^a-zA-Z\d]/", $password)) {
$strength += 1;
}
// Return strength level
if ($strength < 2) {
return "Easy to guess";
} else if ($strength === 2) {
return "Medium difficulty";
} else if ($strength === 3) {
return "Difficult";
} else {
return "Extremely difficult";
}
}
Python ֆունկցիան՝ գաղտնաբառի հզորության համար
def check_password_strength(password):
# Initialize variables
strength = 0
# Check password length
if len(password) < 8:
return "Easy to guess"
else:
strength += 1
# Check for mixed case
if any(char.islower() for char in password) and any(char.isupper() for char in password):
strength += 1
# Check for numbers
if any(char.isdigit() for char in password):
strength += 1
# Check for special characters
if any(not char.isalnum() for char in password):
strength += 1
# Return strength level
if strength < 2:
return "Easy to guess"
elif strength == 2:
return "Medium difficulty"
elif strength == 3:
return "Difficult"
else:
return "Extremely difficult"
C# ֆունկցիա՝ գաղտնաբառի հզորության համար
public string CheckPasswordStrength(string password) {
// Initialize variables
int strength = 0;
// Check password length
if (password.Length < 8) {
return "Easy to guess";
} else {
strength += 1;
}
// Check for mixed case
if (password.Any(char.IsLower) && password.Any(char.IsUpper)) {
strength += 1;
}
// Check for numbers
if (password.Any(char.IsDigit)) {
strength += 1;
}
// Check for special characters
if (password.Any(ch => !char.IsLetterOrDigit(ch))) {
strength += 1;
}
// Return strength level
if (strength < 2) {
return "Easy to guess";
} else if (strength == 2) {
return "Medium difficulty";
} else if (strength == 3) {
return "Difficult";
} else {
return "Extremely difficult";
}
}
Java-ի գործառույթը գաղտնաբառի հզորության համար
public String checkPasswordStrength(String password) {
// Initialize variables
int strength = 0;
// Check password length
if (password.length() < 8) {
return "Easy to guess";
} else {
strength += 1;
}
// Check for mixed case
if (password.matches(".*[a-z].*") && password.matches(".*[A-Z].*")) {
strength += 1;
}
// Check for numbers
if (password.matches(".*\\d.*")) {
strength += 1;
}
// Check for special characters
if (password.matches(".*[^a-zA-Z\\d].*")) {
strength += 1;
}
// Return strength level
if (strength < 2) {
return "Easy to guess";
} else if (strength == 2) {
return "Medium difficulty";
} else if (strength == 3) {
return "Difficult";
} else {
return "Extremely difficult";
}
}
Եվ եթե դուք պարզապես փնտրում եք գաղտնաբառերի հիանալի գեներատոր, ես դրա համար ստեղծել եմ գեղեցիկ փոքրիկ առցանց գործիք:
Ես գտա գաղտնաբառի ուժի մեկ այլ ստուգիչ: Նրանց ալգորիթմը հիմնված է բառերի բառարանի վրա: Փորձեք մեկը microsoft.com կայքում - http://www.microsoft.com/protect/yourself/password/checker.mspx և մեկը itsimpl.com- ում - http://www.itsimpl.com
ՇՆՈՐՀԱԿԱԼՈՒԹՅՈՒՆ! ՇՆՈՐՀԱԿԱԼՈՒԹՅՈՒՆ! ՇՆՈՐՀԱԿԱԼՈՒԹՅՈՒՆ! Ես արդեն 2 շաբաթ հիմարություն եմ անում այլ կայքերից ստացված անիծյալ գաղտնաբառի ուժի ծածկագրով և մազերս հանում: Քոնը կարճ է, աշխատում է այնպես, ինչպես ես եմ ուզում և ամենից լավը, հեշտ է փոխել Javascript- ի նորեկի համար: Ես ուզում էի ֆիքսել ուժի վերաբերյալ դատավճիռը և թույլ չտալ, որ ձևաթուղթը տեղադրի օգտագործողի գաղտնաբառն իրականում թարմացնի, եթե այն չի համապատասխանում ուժի ստուգմանը: Այլ մարդկանց ծածկագիրը չափազանց բարդ էր կամ ճիշտ չէր գործում կամ այլ բան: Ես սիրում եմ քեզ! XXXXX
Խնդրեմ! Խնդրեմ! Խնդրեմ!
Ես նույնպես սիրում եմ քեզ!
Շնորհակալություն մի կտոր ծածկագիր գրելու համար, որն անում է հենց այն, ինչ ասում է պահածոյի վրա:
Ողջույն, նախ շնորհակալություն շատ ջանքերի համար, ես փորձեցի դա օգտագործել Asp.net- ի հետ, բայց չաշխատեց, ես օգտագործում եմ
պիտակի փոխարեն, և այն չի գործել, որևէ առաջարկ ?!
Դեպի Nisreen. Ընդգծված տուփի կոդը չի աշխատում կտրված մածուկով: Միակ մեջբերումը խառնաշփոթ է: Theուցադրման հղման կոդը լավն է:
Հեյ, ինձ դուր է գալիս քո սցենարը: Ես այն թարգմանեցի հոլանդերեն և այն տեղադրեցի այստեղ իմ ֆորումում:
հիանալի աշխատանք ճիշտ ինչպես դա պետք է արվի հաճախորդի վրա
շատ գեղեցիկ աշխատանք.
Շնորհակալություն Դուգլաս, ես այն օգտագործում եմ իմ ներկայիս աշխատանքի համար:
«P @ s $ w0rD» ցուցադրելն ուժեղ է, չնայած այն բավականին արագ կջարդվեր դիկտոնական հարձակման դեպքում
Մասնագիտական լուծման վրա նման հատկություն տեղակայելու համար, կարծում եմ, որ կարևոր է այս ալգորիթմը համատեղել գեղարվեստական ստուգման հետ:
Գերազանց է աշխատում XULRunner- ում `մի փոքր փոփոխելով: Շնորհակալություն
Շնորհակալություն այս փոքրիկ կոդի համար, ես այժմ կարող եմ այն օգտագործել ՝ ստուգելու համար իմ գաղտնաբառի ուժը, երբ իմ այցելուները. Մուտքագրում են իրենց գաղտնաբառերը,
Կոդավորման մեծ կտոր
Սցենարը սուպեր էր: Ես օգտագործել էի մեր ընթացիկ նախագծում
Thank you for sharing!
Այնքան պարզ ու ֆանտաստիկ արտահայտություն: Ես ՝ որպես փորձարկող, իմ TC- ները ստացա այս արտահայտությունից:
Շնորհակալություն կիսվելու համար. Այս էջում ունեք մի քանի կոտրված հղումներ: Տեղեկատվություն
ինչ-որ մեկը կարո՞ղ է ասել, թե ինչու դա իմը չի աշխատել:
ես պատճենել եմ բոլոր ծածկագրերը և տեղադրել դրանք գրառման գրքույկում ++, բայց դա ընդհանրապես չի աշխատում:
խնդրում եմ օգնիր ինձ..
Ֆանտաստիկ !!!!! Շնորհակալություն.
Գերազանց աշխատանք տղա: Պարզ և արդյունավետ: Շատ շնորհակալ եմ կիսվելու համար:
Շնորհակալություն
Լավ է, հազար Բայց… Ո՞րն է Հզոր PW- ի օրինակը: 'չի գտնվում մեկը. - {}
Այս «ուժի ստուգիչը» մարդկանց տանում է դեպի շատ վտանգավոր ուղի: Այն գնահատում է բնույթի բազմազանությունը գաղտնաբառի արտահայտության երկարության վրա, ինչը թույլ է տալիս նրան գնահատել ավելի կարճ, ավելի բազմազան գաղտնաբառերը ՝ ավելի ուժեղ, քան ավելի երկար, ավելի քիչ բազմազան գաղտնաբառերը: Դա կեղծիք է, որը ձեր օգտվողներին դժվարությունների կհանգեցնի, եթե նրանք երբևէ բախվեն հակերության լուրջ սպառնալիքի հետ:
Ես համաձայն չեմ, Jordanորդան: Օրինակն ուղղակի ներկայացվեց որպես սցենարի օրինակ: Մարդկանց համար իմ առաջարկությունն է օգտագործել գաղտնաբառի կառավարման գործիք `ստեղծելու անկախ գաղտնաբառեր ցանկացած կայքի համար, որը հատուկ է դրան: Շնորհակալություն
շնորհակալություն այն շատ լավ է աշխատում:
Շնորհակալ եմ, որ այն լավ է աշխատում
ես իսկապես գնահատում եմ, որ ձեզ շատ անգամ են փնտրում, բայց վերջապես ես ստացա ձեր գրառումը և իսկապես հիացած եմ: ՇՆՈՐՀԱԿԱԼՈՒԹՅՈՒՆ
Շնորհակալություն ընկերս. Ուղղակի տեղադրված է իմ կայքում և այն շատ լավ է աշխատում:
Սիրեք լսել դա: Դուք ամենից շատ ողջունվում եք:
Ես գնահատում եմ, որ կիսում եք: Մեր կայքում փորձում էին ավելացնել գաղտնաբառի ուժը, և սա աշխատում էր այնպես, ինչպես ուզում էի: Շատ շնորհակալություն!
Շնորհակալություն, հուսով եմ, որ կկարողանաք հարմարեցնել այն ըստ անհրաժեշտության:
Դուք կենդանի խնայարար եք: Ես վերլուծում էի ձախ և աջ տողերը և մտածում էի, որ ավելի լավ միջոց կա և գտա ձեր կոդի կտորը Regex- ի միջոցով: Կարողացա դրանով զբաղվել իմ կայքի համար ... Դուք գաղափար չունեք, թե որքանով դա օգնեց: Շատ շնորհակալ եմ Դուգլասից !!
Մեծ լսել: