Читаоци попут вас помажу у подршци МУО. Када обавите куповину користећи везе на нашем сајту, можда ћемо зарадити провизију за партнере. Опширније.

Подаци су витална имовина у данашњем дигиталном свету. Више од осам милиона људи сваке године постане жртва хакера и више од 2200 сајбер напада се дешава сваког дана. Са тако алармантном стопом сајбер криминала, постаје приоритет коришћење најбољих пракси за заштиту од хакера. Један од најважнијих аспеката било ког налога је његова лозинка.

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

Различита правила за постављање јаких лозинки

Нека јака правила лозинке која бисте могли да примените су:

  1. Лозинка треба да има најмање 12 знакова. Што је лозинка дужа, мање су шансе да ће је напад грубе силе компромитовати.
  2. Лозинка треба да садржи комбинацију малих слова, великих слова, бројева и специјалних знакова.
  3. Избегавајте понављање знакова у лозинки.
  4. Не би требало да садржи личне податке као што су имена, бројеви телефона или било шта што неко може лако да погоди.
  5. То не би требало да буде уобичајена реч речника, иако можете да користите речи у дужим фразама лозинки.
  6. Лозинка не би требало да буде иста за више налога. Можете подесите менаџер лозинки да аутоматски попуњава различите лозинке за различите сајтове без памћења сваке од њих.

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

Како проверити јачину лозинке користећи Питхон

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

Такође можете користити гетпасс модул за скривање лозинке док је корисник унесе. Ово помаже у заштити ваше лозинке када морате да је унесете јавно. Да бисте инсталирали гетпасс у вашем локалном окружењу, отворите терминал и откуцајте:

пип инсталирај гетпасс4

Можете користити класу Стринг да проверите да ли је знак слово, цифра или симбол. Можете користити колекције да бисте проверили да ли у лозинки постоје знакови који се понављају.

Користите кључну реч деф да дефинишете функцију под називом цхецк_пассворд_стренгтх() и проследите му лозинку коју ћете добити као параметар.

Иницијализујте шест променљивих: нижи_алфа_број, горњи_алфа_број, број_број, посебан_број_знакова, дужина, заједнички на нулу. Они ће проверити присуство малих слова, великих слова, цифара, специјалних знакова, дужине, понављања знакова у лозинки.

Проследите лозинку коју сте добили од корисника на листа() функцију да га конвертујете у листу знакова. Користећи петљу фор, пређите преко сваког знака листе. Користите иф-елсе наредбу да проверите да ли је знак мала абецеда, велика абецеда, број или специјални знак и ажурирајте број.

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

увоз низ
увоз збирке

дефцхецк_пассворд_стренгтх(Лозинка):
нижи_алфа_цоунт = горњи_алфа_број = број_број = специјални_број_знакова = дужина = уобичајено = 0

за цхар ин листа(Лозинка):
акоцхар у стринг.асции_ловерцасе:
мањи_алфа_број += 1
елиф цхар у стринг.асции_упперцасе:
горњи_алфа_број += 1
елиф цхар у стринг.дигитс:
број_број += 1
друго:
специјални_број_знакова += 1

Требаће вам листа лозинки или база података да бисте проверили да ли је лозинка корисника уобичајена. Можете преузети листу од милион најпопуларнијих лозинки са СецЛистс-ово ГитХуб складиште Цоммон-Цредентиал.

Сачувајте текстуалну датотеку као цоммон_пассворд_лист.ткт. Користите наредбу витх да извршите руковање изузетком и отворите датотеку лозинке у режиму читања. Користити читати() функција да добије садржај присутан у датотеци и сачува га у променљивој под називом цонтент.

Ако лозинка коју корисник унесе није присутна на листи заједничких лозинки, повећајте вредност заједничке променљиве за један.

саотворен("цоммон_пассворд_лист.ткт", 'р') каофајл:
садржај = филе.реад()

ако лозинка није у садржају:
уобичајено += 1

Да бисте проверили дужину лозинке, једноставно је проследите на лен() функцију и провери да ли је већа или једнака дванаест. Ако јесте, повећајте вредност променљиве дужине.

аколен(Лозинка) >= 12:
дужина += 1

Да бисте проверили да ли се знакови у лозинки понављају, користите подкласу Цоунтер из колекције. Бројач је неуређена колекција парова кључева и вредности где је кључ сам елемент, а вредност је број елемента.

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

 цоунтОфВордс = колекције. Бројач (лозинка)
поновљено = [и за и у цоунтОфВордс ако цоунтОфВордс[и] > 1]

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

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

 снага = 0

ако је мањи_алфа_број >= 1:
снага += 1

ако је горњи_алфа_број >= 1:
снага += 1

ако број_броја >= 1:
снага += 1

ако је специјални_број_знакова >= 1:
снага += 1

ако је дужина == 1:
снага += 1

ако је уобичајено == 1:
снага += 1

аколен(поновљено)== 0:
снага += 1

Користите вишелинијски низ (три наводника) да бисте приказали више редова текста у једној изјави за штампање. Користите литералну интерполацију прстена или ф-стрингове или да прикажете број карактеристика. То можете постићи писањем ф на почетку стринга у изјави за штампање и ставите променљиве у витичасте заграде. Интерполацију стрингова користите јер је садржај унутар изјаве за штампање стринг, али вредност променљивих је цео број.

принт""„Ваша лозинка има:- 
{ловер_алпха_цоунт} мала слова
{уппер_алпха_цоунт} велика слова
{нумбер_цоунт} цифара
{специал_цхар_цоунт} специјалних знакова
{ленгтх} дужина
{цоммон} уобичајено
{поновљено} поновљено
„Резултат лозинке: {снага}/7“"")

Коначно, користите наредбу за унос да бисте примили лозинку од корисника и проследили је кориснику цхецк_пассворд_стренгтх функција. На основу јачине лозинке, програм ће приказати резултат заједно са бројем карактеристика присутних у лозинки.

лозинка = улаз ("Унесите лозинку: ")
цхецк_пассворд_стренгтх (пассворд)

Излаз провере снаге лозинке

Приликом уношења јаке лозинке на основу наведених карактеристика, Питхон програм приказује снагу као 7/7:

Када унесете слабу и уобичајену лозинку, Питхон програм приказује снагу као 1/7:

Лозинке и безбедност

Иако можете поставити најјачу лозинку икада, постоје и други начини на које хакер може провалити у ваш систем. 95% сајбер напада је резултат људске грешке. Једна од најчешћих метода коју хакери користе је друштвени инжењеринг. Хакер вам може послати лажне везе до друштвених медија или веб локација за е-трговину које изгледају легитимно, али угрозе вашу лозинку ако их користите.

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