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

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

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

ตัวอย่าง - 1

สร้าง regular expression ที่ตรงตามเงื่อนไขรหัสผ่านที่ถูกต้อง แล้ว match รหัสผ่านที่กำหนดด้วย search() ของ re ในตัวอย่างนี้ เงื่อนไขคือ: ต้องมีตัวใหญ่อย่างน้อย 1 ตัว, ตัวเลขอย่างน้อย 1 ตัว, ตัวอักษรพิเศษอย่างน้อย 1 ตัว และความยาว 8-18 ตัวอักษร

ตัวอย่าง

import re
pswd = 'XdsE83&!'
reg = "^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)(?=.*[@$!%*#?&])[A-Za-z\\d@$!#%*?&]{8,18}$"
# compile regex
match_re = re.compile(reg)
# search regex
res = re.search(match_re, pswd)
# validate
if res:
    print("Valid Password")
else:
    print("Invalid Password")

ผลลัพธ์

การรันโค้ดข้างต้นจะได้ผลลัพธ์ดังนี้ −

Valid Password

ตัวอย่าง - 2

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

ตัวอย่าง

import re
pswd = 'XdsEfg&!'
reg = "^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)(?=.*[@$!%*#?&])[A-Za-z\\d@$!#%*?&]{8,18}$"
# compile regex
match_re = re.compile(reg)
# search regex
res = re.search(match_re, pswd)
# validate
if res:
    print("Valid Password")
else:
    print("Invalid Password")

ผลลัพธ์

การรันโค้ดข้างต้นจะได้ผลลัพธ์ดังนี้ −

Invalid Password