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

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

Модул Басе64 има пар функција које можете користити за кодирање и декодирање порука, додајући додатну сигурност вашем преносу података.

Модул Ткинтер и Басе64

Ткинтер вам омогућава да креирате десктоп апликације. Нуди разне виџете попут дугмади, налепница и оквира за текст који олакшавају развој апликација без превише напора. Можете креирати невероватне ГУИ програме са Ткинтером. Могао би могли бисте направите једноставан калкулатор, апликација за листу обавеза или а тест играња куцања. Да бисте инсталирали Ткинтер у свој систем, отворите свој терминал и откуцајте:

instagram viewer
пип инсталл ткинтер

БАСЕ64 пружа функције за кодирање бинарних података у АСЦИИ декодирајући их назад у бинарни. Подржава стандардно и УРЛ-безбедно кодирање што чини пренос информација сигурнијим. Да бисте конвертовали стринг у Басе64 карактер, узмите АСЦИИ вредност сваког знака и израчунајте његову 8-битну бинарност. Претворите овај комад од 6 бита поновним груписањем цифара и њиховим поновним конвертовањем у њихове одговарајуће децималне вредности. На крају, користите табелу кодирања Басе64 да бисте добили Басе64 вредности за сваку децималу.

Како кодирати и декодирати поруке у Питхон-у

Изворни код овог пројекта можете пронаћи у његовом ГитХуб спремиште.

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

из ткинтер увоз *
увоз басе64

корен = Тк()
роот.геометри('750к400')
роот.цонфигуре (бацкгроунд='акуа')
роот.титле(„Кодирање и декодирање порука помоћу Питхон-а“)

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

Ознака (роот, тект=„Питхон кодер и декодер порука“, фонт='ариал 25 болд', фг='бео', бг="љубичаста").паковање()
Текст = СтрингВар()
кључ = СтрингВар()
моде = СтрингВар()
Резултат = СтрингВар()

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

Додајте ову вредност на листу. Сваки елемент листе придружите празним низом и користите кодирај() метод за враћање утф-8 кодиране верзије стринга. Тхе басе64.урлсафе_б64енцоде() метод кодира овај улаз и замењује - са + и _ са /.

дефЕнцоде(Кључна порука):
енц = []

за и ин опсег (лен (порука)):
кључ_ц = кључ[и % лен (кључ)]
енц.аппенд (цхр((орд (порука[и]) + орд (кеи_ц)) % 256))

повратак басе64.урлсафе_б64енцоде("".јоин (енц).енцоде()).децоде()

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

дефДецоде(Кључна порука):
дец = []
порука = басе64.урлсафе_б64децоде (мессаге).децоде()

за и ин опсег (лен (порука)):
кључ_ц = кључ[и % лен (кључ)]
дец.аппенд (цхр((256 + орд (порука[и]) - орд (тастер_ц)) % 256))

повратак"".јоин (дец)

Дефинишите функцију Режим() који добија режим који је унео корисник у виџету за унос и позива одговарајућу функцију према избору. У случају да корисник не унесе исправан одговор, прикажите поруку о грешци.

дефРежим():
ако (моде.гет() == 'Е'):
Ресулт.сет (Енцоде (кеи.гет(), Тект.гет()))
елиф (моде.гет() == 'Д'):
Ресулт.сет (Декодирање (кеи.гет(), Тект.гет()))
друго:
Ресулт.сет('Неважећи режим')

Дефинишите функцију Екит() да убије и прекине преводилац који ради у позадини. Дефинишите функцију Ресет() да обришете садржај поља за унос.

дефИзађи():
роот.дестрои()

дефРесетовати():
Тект.сет("")
кеи.сет("")
моде.сет("")
Ресулт.сет("")

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

Ознака (роот, фонт='ариал 17 болд', тект='Порука', фг='црн', бг="аква").место (к=60, и=100)
Унос (роот, фонт='ариал 15', тектвариабле=Текст, бг='бео').место (к=450, и=100)

Ознака (роот, фонт='ариал 17 болд', тект='кључ', фг='црн', бг="аква").место (к=60, и=130)
Унос (роот, фонт='ариал 15', тектвариабле=кеи, бг='бео').место (к=450, и=130)

Ознака (роот, фонт='ариал 17 болд', тект='Режим (Е-Енцоде, Д-Децоде)', фг='црн', бг="аква").место (к=60, и=160)
Унос (роот, фонт='ариал 15', тектвариабле=моде, бг='бео').место (к=450, и=160)

Ознака (роот, фонт='ариал 17 болд', тект='Текст', фг='црн', бг="аква").место (к=60, и=190)
Унос (роот, фонт='ариал 15 болд', тектвариабле=Резултат, бг='бео').место (к=450, и=190)

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

Дугме (роот, фонт='ариал 15 болд', тект='Резултат', падк=2, бг='Светло сива', цомманд=Моде).место (к=100, и=240)
Дугме (роот, фонт='ариал 15 болд', тект='Ресетовати', ширина=6, цомманд=Ресет, бг='Зелен', падк=2).место (к=300, и=240)
Дугме (роот, фонт='ариал 15 болд', тект='Зауставити', ширина=6, цомманд=Излаз, бг='црвено', падк=2, пади=2).место (к=500, и=240)

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

роот.маинлооп()

Кодер/декодер порука у акцији

Када покренете програм, програм приказује прозор у који морате да унесете поруку, тастер и режим. Када изаберете режим кодирања са кључем 2009, порука Искористи претвара у ф8КРвпвЦнлЛЦхцКјвп5Сф8КВ.

Слично томе, када копирате кодирану поруку и налепите је назад на улаз за декодирање са истом, добијате оригиналну поруку назад.

Сајбер безбедност коришћењем Питхон-а

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

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