CRM և տվյալների պլատֆորմներԷլեկտրոնային շուկայավարում և էլփոստի շուկայավարման ավտոմատացում

Ստուգեք գաղտնաբառի հզորությունը 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";
  }
}

Եվ եթե դուք պարզապես փնտրում եք գաղտնաբառերի հիանալի գեներատոր, ես դրա համար ստեղծել եմ գեղեցիկ փոքրիկ առցանց գործիք:

Գաղտնաբառի գեներատոր

Douglas Karr

Douglas Karr հիմնադիրն է Martech Zone և թվային փոխակերպման ճանաչված փորձագետ: Դուգլասը օգնել է հիմնել մի քանի հաջողակ MarTech ստարտափներ, օգնել է ավելի քան 5 միլիարդ ԱՄՆ դոլարի չափով ուսումնասիրություն կատարել Martech-ի ձեռքբերումների և ներդրումների համար և շարունակում է գործարկել իր սեփական հարթակներն ու ծառայությունները: Նա համահիմնադիր է Highbridge, թվային փոխակերպման խորհրդատվական ընկերություն։ Դուգլասը նաև հրատարակված է Dummie's ուղեցույցի և բիզնեսի առաջնորդության գրքի հեղինակ:

Առնչվող հոդվածներ

33 Comments

  1. ՇՆՈՐՀԱԿԱԼՈՒԹՅՈՒՆ! ՇՆՈՐՀԱԿԱԼՈՒԹՅՈՒՆ! ՇՆՈՐՀԱԿԱԼՈՒԹՅՈՒՆ! Ես արդեն 2 շաբաթ հիմարություն եմ անում այլ կայքերից ստացված անիծյալ գաղտնաբառի ուժի ծածկագրով և մազերս հանում: Քոնը կարճ է, աշխատում է այնպես, ինչպես ես եմ ուզում և ամենից լավը, հեշտ է փոխել Javascript- ի նորեկի համար: Ես ուզում էի ֆիքսել ուժի վերաբերյալ դատավճիռը և թույլ չտալ, որ ձևաթուղթը տեղադրի օգտագործողի գաղտնաբառն իրականում թարմացնի, եթե այն չի համապատասխանում ուժի ստուգմանը: Այլ մարդկանց ծածկագիրը չափազանց բարդ էր կամ ճիշտ չէր գործում կամ այլ բան: Ես սիրում եմ քեզ! XXXXX

  2. «P @ s $ w0rD» ցուցադրելն ուժեղ է, չնայած այն բավականին արագ կջարդվեր դիկտոնական հարձակման դեպքում
    Մասնագիտական ​​լուծման վրա նման հատկություն տեղակայելու համար, կարծում եմ, որ կարևոր է այս ալգորիթմը համատեղել գեղարվեստական ​​ստուգման հետ:

  3. Շնորհակալություն այս փոքրիկ կոդի համար, ես այժմ կարող եմ այն ​​օգտագործել ՝ ստուգելու համար իմ գաղտնաբառի ուժը, երբ իմ այցելուները. Մուտքագրում են իրենց գաղտնաբառերը,

  4. ինչ-որ մեկը կարո՞ղ է ասել, թե ինչու դա իմը չի աշխատել:

    ես պատճենել եմ բոլոր ծածկագրերը և տեղադրել դրանք գրառման գրքույկում ++, բայց դա ընդհանրապես չի աշխատում:
    խնդրում եմ օգնիր ինձ..

  5. Այս «ուժի ստուգիչը» մարդկանց տանում է դեպի շատ վտանգավոր ուղի: Այն գնահատում է բնույթի բազմազանությունը գաղտնաբառի արտահայտության երկարության վրա, ինչը թույլ է տալիս նրան գնահատել ավելի կարճ, ավելի բազմազան գաղտնաբառերը ՝ ավելի ուժեղ, քան ավելի երկար, ավելի քիչ բազմազան գաղտնաբառերը: Դա կեղծիք է, որը ձեր օգտվողներին դժվարությունների կհանգեցնի, եթե նրանք երբևէ բախվեն հակերության լուրջ սպառնալիքի հետ:

    1. Ես համաձայն չեմ, Jordanորդան: Օրինակն ուղղակի ներկայացվեց որպես սցենարի օրինակ: Մարդկանց համար իմ առաջարկությունն է օգտագործել գաղտնաբառի կառավարման գործիք `ստեղծելու անկախ գաղտնաբառեր ցանկացած կայքի համար, որը հատուկ է դրան: Շնորհակալություն

  6. Դուք կենդանի խնայարար եք: Ես վերլուծում էի ձախ և աջ տողերը և մտածում էի, որ ավելի լավ միջոց կա և գտա ձեր կոդի կտորը Regex- ի միջոցով: Կարողացա դրանով զբաղվել իմ կայքի համար ... Դուք գաղափար չունեք, թե որքանով դա օգնեց: Շատ շնորհակալ եմ Դուգլասից !!

Ինչ եք կարծում?

Այս կայքը օգտագործում է Akismet- ը սպամի նվազեցման համար: Իմացեք, թե ինչպես է ձեր տվյալները մշակվում.

փակել

Հայտնաբերվել է Adblock

Martech Zone կարող է անվճար տրամադրել ձեզ այս բովանդակությունը, քանի որ մենք դրամայնացնում ենք մեր կայքը գովազդից ստացված եկամուտների, փոխկապակցված հղումների և հովանավորությունների միջոցով: Մենք երախտապարտ կլինենք, եթե մեր կայքը դիտելիս հեռացնեիք ձեր գովազդային արգելափակիչը: