Безбедност је један од најважнијих делова наших живота. Важност безбедности расте из дана у дан јер се већина ствари одвија на мрежи. Лозинке излазе на видело док говоримо о безбедности.
У овом чланку ћемо креирати генератор лозинки који нам помаже да брзо генеришемо насумичне и јаке лозинке.
Зашто нам је потребан генератор лозинки?
Зато што не можемо одмах да смислимо различите обрасце лозинки.
Али, није исти случај са рачунарима. Рачунари могу да генеришу насумичне и јаке лозинке на основу наших прилагођавања за секунде. На располагању је много генератора лозинки.
Можемо ли да креирамо сопствене са прилагођавањима која нам се свиђају?
Да, дефинитивно можемо да га створимо. И овде ћемо вам показати како да то урадите.
Хајде да направимо генератор лозинки.
Преглед садржаја
Генератор лозинки 💻
Најбоља ствар у креирању сопственог генератора лозинки је то што га можемо прилагодити како желимо.
Прво ћемо креирати генератор лозинки који тражи дужину лозинке и генерише насумичне лозинке која садржи цифре, абецеде и посебне знакове.
Затим ћемо га побољшати тако што ћемо питати број сваке врсте карактера, као што је број цифара, абецеда и специјалних знакова.
Дакле, без даљег одлагања, погледајмо кораке за креирање генератора лозинки користећи Питхон.
Степс
- Чувајте све знакове као листу. Можемо користити стринг модул Питхон-а или укуцати све.
- Замолите корисника да унесе дужину лозинке.
- Промешај знакове методом рандом.схуффле.
- Иницијализирајте празну листу за чување лозинке.
- Напишите петљу која понавља времена дужине.
- Изаберите насумични карактер од свих ликова користећи метод рандом.цхоице.
- Додајте насумични знак лозинки.
- Промешајте добијену листу лозинки да бисте је учинили насумичнијом.
- Конвертујте листу лозинки у стринг користећи метод придруживања.
- Одштампајте лозинку.
Пратите горње кораке и покушајте да напишете код. Не брините, чак и ако нисте у могућности да напишете код. Погледајте код испод.
Код
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 насумична знака да би дужина лозинке била једнака корисничком уносу.
Ура! имамо комплетан генератор јаких лозинки. 😎
Закључак
Видели смо како да креирамо генератор лозинки од нуле. Можемо ли му додати још функција? Да, можемо додати колико желимо. Али, уверите се да је резултујућа лозинка довољно јака.
Генеришите лозинке из кода и користите их за свој следећи онлајн налог.
Док то радите, користите вдзвдз Генератор случајних лозинки да бисте креирали безбедне лозинке.
Научите како да пишете једнако или не једнако коду и како да направите тиц-тац-тое игру у Питхон-у.
Срећно кодирање! 👩💻