จะสร้างตัวสร้างรหัสผ่านโดยใช้ Python ได้อย่างไร
เผยแพร่แล้ว: 2021-08-20การรักษาความปลอดภัยเป็นส่วนที่สำคัญที่สุดในชีวิตของเรา ความสำคัญของการรักษาความปลอดภัยเพิ่มขึ้นทุกวันเนื่องจากสิ่งต่าง ๆ ส่วนใหญ่ออนไลน์ รหัสผ่านมีความสำคัญเมื่อเราพูดถึงความปลอดภัย
ในบทความนี้ เราจะสร้างเครื่องมือสร้างรหัสผ่านที่ช่วยให้เราสร้างรหัสผ่านแบบสุ่มและคาดเดายากได้อย่างรวดเร็ว
ทำไมเราถึงต้องการตัวสร้างรหัสผ่าน?
เพราะเราไม่สามารถนึกถึงรูปแบบต่างๆ ของรหัสผ่านได้ในทันที
แต่มันไม่ใช่กรณีเดียวกันกับคอมพิวเตอร์ คอมพิวเตอร์สามารถสร้างรหัสผ่านแบบสุ่มและคาดเดายากตามการปรับแต่งของเราในไม่กี่วินาที มีตัวสร้างรหัสผ่านมากมาย
เราสามารถสร้างของเราเองด้วยการปรับแต่งที่เราชอบได้หรือไม่?
ใช่ เราสร้างมันขึ้นมาได้อย่างแน่นอน และที่นี่เราจะแสดงให้คุณเห็นว่าต้องทำอย่างไร
มาสร้างเครื่องสร้างรหัสผ่านกัน
ตัวสร้างรหัสผ่าน
สิ่งที่ดีที่สุดเกี่ยวกับการสร้างตัวสร้างรหัสผ่านของเราเองคือ เราสามารถปรับแต่งมันได้ตามต้องการ
ขั้นแรก เราจะสร้างตัวสร้างรหัสผ่านที่ถามความยาวของรหัสผ่าน และสร้างรหัสผ่านแบบสุ่มซึ่งประกอบด้วยตัวเลข ตัวอักษร และอักขระพิเศษ
ต่อไปเราจะปรับปรุงโดยถามจำนวนอักขระแต่ละประเภท เช่น จำนวนหลัก ตัวอักษร และอักขระพิเศษ
มาดูขั้นตอนการสร้างตัวสร้างรหัสผ่านโดยใช้ Python กัน โดยไม่ต้องกังวลใจอีกต่อไป
ขั้นตอน
- เก็บตัวอักษรทั้งหมดเป็นรายการ เราสามารถใช้โมดูลสตริงของ Python หรือพิมพ์ทั้งหมด
- ขอให้ผู้ใช้ป้อนความยาวของรหัสผ่าน
- สับเปลี่ยนอักขระโดยใช้วิธี
random.shuffle - เริ่มต้นรายการว่างเพื่อเก็บรหัสผ่าน
- เขียนลูปที่วนซ้ำ
length- เลือกอักขระแบบสุ่มจากอักขระทั้งหมดโดยใช้วิธี
random.choice - ต่อท้ายอักขระสุ่มกับรหัสผ่าน
- เลือกอักขระแบบสุ่มจากอักขระทั้งหมดโดยใช้วิธี
- สุ่มรายการรหัสผ่านที่เป็นผลลัพธ์เพื่อให้เป็นแบบสุ่มมากขึ้น
- แปลงรายการรหัสผ่านเป็นสตริงโดยใช้วิธีการ
join - พิมพ์รหัสผ่าน
ทำตามขั้นตอนข้างต้นแล้วลองเขียนโค้ด ไม่ต้องกังวล แม้ว่าคุณจะไม่สามารถเขียนโค้ดได้ ตรวจสอบรหัสด้านล่าง
รหัส
import string import random ## characters to generate password from characters = list(string.ascii_letters + string.digits + "[email protected]#$%^&*()") def generate_random_password(): ## length of password from the user length = int(input("Enter password length: ")) ## shuffling the characters random.shuffle(characters) ## picking random characters from the list password = [] for i in range(length): password.append(random.choice(characters)) ## shuffling the resultant password random.shuffle(password) ## converting the list to string ## printing the list print("".join(password)) ## invoking the function generate_random_password()รหัสข้างต้นเป็นตัวอธิบาย เราเพิ่งทำตามขั้นตอนที่อธิบายไว้ในการเขียนโค้ด ดังนั้น คุณจะไม่พบปัญหาใดๆ ในการทำความเข้าใจโค้ดหากคุณอ่านขั้นตอนต่างๆ
ตอนนี้ เรียกใช้รหัสและสร้างรหัสผ่าน ตัวอย่างผลลัพธ์จะเป็นดังนี้
Enter password length: 10 d&amIzK%d)สังเกตรหัสผ่านในผลลัพธ์ด้านบน มีเลขอะไรมั้ย? ไม่ได้ เพราะไม่มีหลักประกันว่าโปรแกรมจะรวมตัวเลข
ต่อไป เราพยายามรับประกันว่าโปรแกรมจะรวมตัวเลขและอักขระพิเศษ โดยขอให้ผู้ใช้ป้อนจำนวนหลัก ตัวอักษร และอักขระพิเศษที่ต้องการ
เมื่อผู้ใช้ป้อนจำนวนอักขระสำหรับแต่ละประเภท โปรแกรมจะรวมจำนวนอักขระตามลำดับลงในรหัสผ่าน
มาดูรหัสที่รับจำนวนตัวอักษรแต่ละประเภทและสร้างรหัสผ่านกัน

import string import random ## characters to generate password from alphabets = list(string.ascii_letters) digits = list(string.digits) special_characters = list("[email protected]#$%^&*()") characters = list(string.ascii_letters + string.digits + "[email protected]#$%^&*()") def generate_random_password(): ## length of password from the user length = int(input("Enter password length: ")) ## number of character types alphabets_count = int(input("Enter alphabets count in password: ")) digits_count = int(input("Enter digits count in password: ")) special_characters_count = int(input("Enter special characters count in password: ")) characters_count = alphabets_count + digits_count + special_characters_count ## check the total length with characters sum count ## print not valid if the sum is greater than length if characters_count > length: print("Characters total count is greater than the password length") return ## initializing the password password = [] ## picking random alphabets for i in range(alphabets_count): password.append(random.choice(alphabets)) ## picking random digits for i in range(digits_count): password.append(random.choice(digits)) ## picking random alphabets for i in range(special_characters_count): password.append(random.choice(special_characters)) ## if the total characters count is less than the password length ## add random characters to make it equal to the length if characters_count < length: random.shuffle(characters) for i in range(length - characters_count): password.append(random.choice(characters)) ## shuffling the resultant password random.shuffle(password) ## converting the list to string ## printing the list print("".join(password)) ## invoking the function generate_random_password()ดังนั้นความแตกต่างระหว่างรหัสก่อนหน้าและรหัสนี้คืออะไร?
- เราได้เขียนลูปแยกกันสำหรับอักขระแต่ละประเภทเพื่อเพิ่มลงในรหัสผ่าน
- มีการตรวจสอบตามเงื่อนไขสองครั้งเพื่อตรวจสอบจำนวนอักขระทั้งหมดที่มีความยาวรหัสผ่าน
เราได้เพิ่มรหัสพิเศษบางอย่าง แต่รูปแบบจะคล้ายกับรหัสก่อนหน้า ดังนั้น คุณจะไม่พบปัญหาใดๆ ในการทำความเข้าใจ
ตอนนี้ได้เวลาดำเนินการและตรวจสอบผลลัพธ์แล้ว ดูการทดสอบการทำงานต่อไปนี้
Enter password length: 10 Enter alphabets count in password: 3 Enter digits count in password: 2 Enter special characters count in password: 3 V2(&#XlQq1หากคุณเห็นรหัสผ่านที่สร้างขึ้นในครั้งนี้ แสดงว่ามีจำนวนอักขระขั้นต่ำที่ผู้ใช้ต้องการ และโปรแกรมได้รวมอักขระสุ่มอีก 2 ตัวเพื่อให้ความยาวรหัสผ่านเท่ากับการป้อนข้อมูลของผู้ใช้
เย่! เรามีตัวสร้างรหัสผ่านที่รัดกุมที่สมบูรณ์
บทสรุป
เราได้เห็นวิธีการสร้างตัวสร้างรหัสผ่านตั้งแต่เริ่มต้น เราสามารถเพิ่มคุณสมบัติเพิ่มเติมได้หรือไม่? ใช่ เราสามารถเพิ่มได้มากเท่าที่เราต้องการ แต่ตรวจสอบให้แน่ใจว่ารหัสผ่านผลลัพธ์นั้นรัดกุมเพียงพอ
สร้างรหัสผ่านจากรหัสและใช้สำหรับบัญชีออนไลน์ครั้งต่อไปของคุณ
ต่อไป ค้นหาวิธีสร้างเกมโอเอกซ์ใน Python
มีความสุขในการเข้ารหัส!
