Како направити насумични генератор лозинки у Питхон-у

Безбедност је један од најважнијих делова наших живота. Важност безбедности расте из дана у дан јер се већина ствари одвија на мрежи. Лозинке излазе на видело док говоримо о безбедности.

У овом чланку ћемо креирати генератор лозинки који нам помаже да брзо генеришемо насумичне и јаке лозинке.

Зашто нам је потребан генератор лозинки?

Зато што не можемо одмах да смислимо различите обрасце лозинки.

Али, није исти случај са рачунарима. Рачунари могу да генеришу насумичне и јаке лозинке на основу наших прилагођавања за секунде. На располагању је много генератора лозинки.

Можемо ли да креирамо сопствене са прилагођавањима која нам се свиђају?

Да, дефинитивно можемо да га створимо. И овде ћемо вам показати како да то урадите.

Хајде да направимо генератор лозинки.

Генератор лозинки 💻

Најбоља ствар у креирању сопственог генератора лозинки је то што га можемо прилагодити како желимо.

Прво ћемо креирати генератор лозинки који тражи дужину лозинке и генерише насумичне лозинке која садржи цифре, абецеде и посебне знакове.

Затим ћемо га побољшати тако што ћемо питати број сваке врсте карактера, као што је број цифара, абецеда и специјалних знакова.

Дакле, без даљег одлагања, погледајмо кораке за креирање генератора лозинки користећи Питхон.

Степс

  • Чувајте све знакове као листу. Можемо користити стринг модул Питхон-а или укуцати све.
  • Замолите корисника да унесе дужину лозинке.
  • Промешај знакове методом рандом.схуффле.
  • Иницијализирајте празну листу за чување лозинке.
  • Напишите петљу која понавља времена дужине.
    • Изаберите насумични карактер од свих ликова користећи метод рандом.цхоице.
    • Додајте насумични знак лозинки.
  • Промешајте добијену листу лозинки да бисте је учинили насумичнијом.
  • Конвертујте листу лозинки у стринг користећи метод придруживања.
  • Одштампајте лозинку.
  5 ствари које треба проверити пре куповине новог или половних аутомобила да бисте уштедели новац

Пратите горње кораке и покушајте да напишете код. Не брините, чак и ако нисте у могућности да напишете код. Погледајте код испод.

Код

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()

Дакле, која је разлика између претходног кода и овог кода?

  • Написали смо засебне петље за сваки тип карактера да бисмо их додали лозинки.
  • Постоје две условне провере за проверу укупног броја знакова са дужином лозинке.
  9 соларних генератора за дом за одрживо резервно напајање

Додали смо додатни код. Али, образац је сличан претходном коду. Дакле, нећете наћи никакве потешкоће у разумевању.

Сада је време да извршите и проверите излаз. Погледајте следећу пробну вожњу.

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 насумична знака да би дужина лозинке била једнака корисничком уносу.

Ура! имамо комплетан генератор јаких лозинки. 😎

Закључак

Видели смо како да креирамо генератор лозинки од нуле. Можемо ли му додати још функција? Да, можемо додати колико желимо. Али, уверите се да је резултујућа лозинка довољно јака.

Генеришите лозинке из кода и користите их за свој следећи онлајн налог.

Док то радите, користите вдзвдз Генератор случајних лозинки да бисте креирали безбедне лозинке.

Научите како да пишете једнако или не једнако коду и како да направите тиц-тац-тое игру у Питхон-у.

Срећно кодирање! 👩‍💻