Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

การตรวจสอบรหัสผ่านใน Python


เป็นข้อกำหนดทั่วไปที่จะต้องมีรหัสผ่านที่ซับซ้อนพอสมควร ในบทความนี้ เราจะมาดูวิธีการตรวจสอบว่ารหัสผ่านที่ให้มานั้นมีความซับซ้อนในระดับหนึ่งหรือไม่ เพื่อที่จะใช้โมดูลนิพจน์ปกติที่เรียกว่า re.

ตัวอย่าง -1

ขั้นแรก เราสร้างนิพจน์ทั่วไปซึ่งสามารถตอบสนองเงื่อนไขที่จำเป็นในการเรียกรหัสผ่านที่ถูกต้อง จากนั้นเราจับคู่รหัสผ่านที่กำหนดกับเงื่อนไขที่จำเป็นโดยใช้ฟังก์ชันการค้นหาของ re ในตัวอย่างด้านล่าง ข้อกำหนดความซับซ้อนคือ เราต้องการอักษรตัวพิมพ์ใหญ่อย่างน้อยหนึ่งตัว ตัวเลขหนึ่งตัว และอักขระพิเศษหนึ่งตัว นอกจากนี้เรายังต้องการความยาวของรหัสผ่านที่จะอยู่ระหว่าง 8 ถึง 18

ตัวอย่าง

import re

pswd = 'XdsE83&!'
reg = "^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*#?&])[A-Za-z\d@$!#%*?&]{8,18}$"

# compiling regex
match_re = re.compile(reg)

# searching regex
res = re.search(match_re, pswd)

# validating conditions
if res:
   print("Valid Password")
else:
   print("Invalid Password")

ผลลัพธ์

การเรียกใช้โค้ดข้างต้นทำให้เราได้ผลลัพธ์ดังต่อไปนี้ -

Valid Password

ตัวอย่าง -2

ในตัวอย่างนี้ เราใช้รหัสผ่านที่ไม่ตรงตามเงื่อนไขที่กำหนดทั้งหมด เช่น ไม่มีตัวเลขในรหัสผ่าน ในกรณีนั้นโปรแกรมจะระบุว่าเป็นรหัสผ่านที่ไม่ถูกต้อง

ตัวอย่าง

import re

pswd = 'XdsEfg&!'
reg = "^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*#?& ])[A-Za-z\d@$!#%*?&]{8,18}$"

# compiling regex
match_re = re.compile(reg)

# searching regex
res = re.search(match_re, pswd)

# validating conditions
if res:
   print("Valid Password")
else:
   print("Invalid Password")

ผลลัพธ์

การเรียกใช้โค้ดข้างต้นทำให้เราได้ผลลัพธ์ดังต่อไปนี้ -

Invalid Password