icesuntisuk

View on GitHub

การทำ Password Policy สำหรับการตั้ง Password ด้วย Python

ปัจจุบันการตั้งค่า Password เป็นปัญหาค่อนข้างมากในงานด้าน Security เนื่องจากผู้ใช้งานส่วนใหญ่มักไม่นึกถึงความปลอดภัยในการตั้งค่ารหัสผ่านเท่าที่ควร ซึ่งจะเห็นได้จาก Report ต่างๆ บนโลก Internet ที่มักจะรายงาน Password ที่อ่อนแอออกมาให้เราได้เห็นอยู่บ่อยๆ ยกตัวอย่างเช่น

จะเห็นได้ว่าการตั้งค่า Password ให้กับระบบจึงมักเป็นเรื่องที่ผู้พัฒนาจำเป็นต้องคำนึงถึงเป็นลำดับต้นๆ ฉะนั้นในบทความนี้ผมจะพาไปดูวิธีการเขียนโปรแกรมในภาษา Python โดยใช้ Library ชื่อ Password-Strength ซึ่งจะช่วยให้เราสามารถตั้งค่านโยบายการตั้ง Password ให้มีความปลอดภัยมากยิ่งขึั้น

from password_strength import PasswordPolicy

policy = PasswordPolicy.from_names(
    length=8,  # min length: 8
    uppercase=2,  # need min. 2 uppercase letters
    numbers=2,  # need min. 2 digits
    special=2,  # need min. 2 special characters
    nonletters=2,  # need min. 2 non-letter characters (digits, specials, anything)
)
print("Bad Password[123456] : " + str(policy.test('123456')))
print("Good Password[Ic3Sunt1suk.github.io]: " + str(policy.test('Ic3Sunt1suk.github.io')))

ผลการทดสอบ

จะสังเกตได้ว่าเมื่อเราใส่ค่า Password ที่มีความง่ายตัวของ Library จะคืนค่าที่เป็น List ออกมาให้ตามเงี่อนไขที่เราได้กำหนด แต่หากเรากำหนดรหัสผ่านที่มีความปลอดภัยก็จะส่ง List ที่ไม่มีข้อมูลใดๆ กลับมา ซึ่งผู้พัฒนาสามารถนำไปต่อยอดเพื่อให้โปรแกรมของตนมีความปลอดภัยได้ตามที่ต้องการ

Reference :

Powered By : Icesuntisuk ๕ ม.ค.๖๔