জাভাস্ক্রিপ্ট বা jQuery এবং রেগুলার এক্সপ্রেশনের সাথে পাসওয়ার্ডের শক্তি পরীক্ষা করুন (সার্ভার-সাইড উদাহরণ সহ!)
আমি ব্যবহার করে এমন একটি পাসওয়ার্ড শক্তি পরীক্ষার একটি ভাল উদাহরণ খুঁজে পাওয়ার জন্য কিছু গবেষণা করছিলাম জাভাস্ক্রিপ্ট এবং রেগুলার এক্সপ্রেশন (রেজেক্স) আমার কাজের অ্যাপ্লিকেশনটিতে, আমরা পাসওয়ার্ডের শক্তি যাচাই করার জন্য একটি পোস্ট করি এবং এটি আমাদের ব্যবহারকারীদের জন্য বেশ অসুবিধাজনক।
রেজেক্স কী?
একটি নিয়মিত প্রকাশ হ'ল অক্ষরগুলির ক্রম যা অনুসন্ধানের প্যাটার্নটি সংজ্ঞায়িত করে। সাধারণত, এ জাতীয় নিদর্শনগুলি স্ট্রিং অনুসন্ধান অ্যালগরিদমের দ্বারা ব্যবহৃত হয় আবিষ্কার or খুঁজুন ও প্রতিস্থাপন করুন স্ট্রিংগুলিতে অপারেশন বা ইনপুট বৈধতার জন্য।
এই নিবন্ধটি অবশ্যই আপনাকে নিয়মিত অভিব্যক্তি শেখাতে নয়। কেবলমাত্র জেনে থাকুন যে নিয়মিত এক্সপ্রেশন ব্যবহার করার ক্ষমতা আপনি পাঠ্যের নিদর্শনগুলি অনুসন্ধান করার সাথে সাথে আপনার বিকাশকে একেবারে সহজ করবে। এটিও লক্ষ করা গুরুত্বপূর্ণ যে বেশিরভাগ বিকাশ ভাষাগুলি নিয়মিত প্রকাশের ব্যবহারকে অনুকূলিত করেছে ... সুতরাং স্টেপগুলি ধাপে ধাপে পার্সিং এবং অনুসন্ধানের পরিবর্তে, রেগেক্স সাধারণত সার্ভার এবং ক্লায়েন্ট-পার্শ্ব উভয়ই খুব দ্রুত।
আমি খুঁজে পাওয়ার আগে আমি বেশ কিছুটা আগে ওয়েব অনুসন্ধান করেছিলাম একটি উদাহরণ কিছু দুর্দান্ত রেগুলার এক্সপ্রেশন যা দৈর্ঘ্য, অক্ষর এবং চিহ্নের সংমিশ্রণের সন্ধান করে। যাইহোক, কোডটি আমার স্বাদের জন্য একটু অতিরিক্ত ছিল এবং .NET-এর জন্য তৈরি করা হয়েছে। তাই আমি কোডটি সরলীকৃত করেছি এবং জাভাস্ক্রিপ্টে রেখেছি। এটি এটিকে পোস্ট করার আগে ক্লায়েন্টের ব্রাউজারে রিয়েল-টাইমে পাসওয়ার্ডের শক্তি যাচাই করে... এবং পাসওয়ার্ডের শক্তি সম্পর্কে ব্যবহারকারীকে কিছু প্রতিক্রিয়া প্রদান করে।
একটি গোপন নাম্বার লিখ
কীবোর্ডের প্রতিটি স্ট্রোকের সাথে, পাসওয়ার্ডটি নিয়মিত অভিব্যক্তির বিপরীতে পরীক্ষা করা হয় এবং তারপরে তার নীচে স্প্যানে প্রতিক্রিয়া দেওয়া হয়।
জাভাস্ক্রিপ্ট পাসওয়ার্ড শক্তি ফাংশন
সার্জারির রেগুলার এক্সপ্রেশন কোডের দৈর্ঘ্য কমানোর একটি চমত্কার কাজ করুন। এই জাভাস্ক্রিপ্ট ফাংশনটি একটি পাসওয়ার্ডের শক্তি পরীক্ষা করে এবং এটি ব্যর্থ করা সহজ, মাঝারি, কঠিন বা অনুমান করা অত্যন্ত কঠিন কিনা। ব্যক্তি টাইপ করার সাথে সাথে এটিকে আরও শক্তিশালী হতে উত্সাহিত করার টিপস প্রদর্শন করে৷ এটি এর উপর ভিত্তি করে পাসওয়ার্ড যাচাই করে:
- লম্বা - যদি দৈর্ঘ্য 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
লাইন।
// 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 এর সাথে, আমাদের আসলে একটি অনইনপুট আপডেট সহ ফর্মটি লিখতে হবে না:
<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');
}
});
});
আপনার পাসওয়ার্ড অনুরোধ কঠোর করা হচ্ছে
এটা অপরিহার্য যে আপনি শুধু আপনার জাভাস্ক্রিপ্টের মধ্যে পাসওয়ার্ড নির্মাণকে যাচাই করবেন না। এটি ব্রাউজার ডেভেলপমেন্ট টুল সহ যে কেউ স্ক্রিপ্টটি বাইপাস করতে এবং তারা যেকোন পাসওয়ার্ড ব্যবহার করতে সক্ষম করবে। আপনার প্ল্যাটফর্মে এটি সংরক্ষণ করার আগে পাসওয়ার্ডের শক্তি যাচাই করার জন্য আপনাকে সর্বদা একটি সার্ভার-সাইড চেক ব্যবহার করা উচিত।
পাসওয়ার্ড শক্তির জন্য পিএইচপি ফাংশন
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";
}
}
পাসওয়ার্ড শক্তির জন্য পাইথন ফাংশন
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";
}
}
পাসওয়ার্ড শক্তির জন্য জাভা ফাংশন
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";
}
}
এবং যদি আপনি শুধুমাত্র একটি দুর্দান্ত পাসওয়ার্ড জেনারেটর খুঁজছেন, আমি তার জন্য একটি সুন্দর ছোট অনলাইন টুল তৈরি করেছি।