Բովանդակություն:

Python անվտանգության ծածկագրման/վերծանման ծրագրակազմ. 3 քայլ
Python անվտանգության ծածկագրման/վերծանման ծրագրակազմ. 3 քայլ

Video: Python անվտանգության ծածկագրման/վերծանման ծրագրակազմ. 3 քայլ

Video: Python անվտանգության ծածկագրման/վերծանման ծրագրակազմ. 3 քայլ
Video: 10 պահանջված մասնագիտություն IT ոլորտում 2024, Նոյեմբեր
Anonim
Python անվտանգության ծածկագրման/վերծանման ծրագրակազմ
Python անվտանգության ծածկագրման/վերծանման ծրագրակազմ
Python անվտանգության ծածկագրման/վերծանման ծրագրակազմ
Python անվտանգության ծածկագրման/վերծանման ծրագրակազմ

Այս Instructable- ում ես ձեզ ցույց կտամ, թե ինչպես որոշ պարզ Python- ով կարող եք ապահով պահել ձեր ֆայլերը ՝ օգտագործելով արդյունաբերական ստանդարտ AES- ը:

Պահանջներ:

- Python 3.7

- PyAesCrypt գրադարան

- hashlib գրադարան

Եթե դուք չունեք այս գրադարանները, կարող եք հեշտությամբ տեղադրել `մուտքագրելով.

pip3 տեղադրել hashlib

pip3 տեղադրել PyAesCrypt

տերմինալում (կամ CMD)

Դուք արդեն պետք է ունենաք հետևյալները.

- պատահական գրադարան

- os գրադարան

- համակարգի գրադարան

Ես օգտագործում եմ OS X- ը, բայց դա չպետք է չափազանց նշանակություն ունենա, բացառությամբ ֆայլի ուղիների գծերի շեղումների ուղղության (OS X: /, Windows:)

Խնդրում ենք նկատի ունենալ. Ինչ -որ անսարքության պատճառով ծածկագրում տեղ գտած տեղաշարժերը ինչ -ինչ պատճառներով չեն երևում: Հետևաբար, ցուցադրվող ծածկագրում ոչ մի նահանջ չի լինի, այնուամենայնիվ դրանք առկա են Python ֆայլերում, որոնք ես կցել եմ վերջում և կցված նկարներում: Պարզապես մի վերցրեք ծածկագիրը անմիջապես ցուցադրվող տեքստից, քանի որ այն չի աշխատի նահանջների բացակայության պատճառով:

Եթե ունեք բոլոր կախվածությունները, եկեք անցնենք Քայլ 1 -ին:

Քայլ 1: Կարգավորման ֆայլ գրելը

Կարգավորման ֆայլ գրելը
Կարգավորման ֆայլ գրելը
Կարգավորման ֆայլ գրելը
Կարգավորման ֆայլ գրելը
Կարգավորման ֆայլ գրելը
Կարգավորման ֆայլ գրելը
Կարգավորման ֆայլ գրելը
Կարգավորման ֆայլ գրելը

Գործոններից մեկը, որն այսքան ապահով է դարձնում, գաղտնաբառի ստուգման համար հեշերի օգտագործումն է: Կարգավորման ֆայլը (ես զանգում եմ իմը setupsafe.py) պատրաստվում է ՝

- Ստեղծեք թղթապանակ և ծածկագրի ֆայլեր գաղտնաբառի համար

- Սահմանեք գաղտնաբառը

- Սահմանեք ֆայլի համարը

- Կոտրեք գաղտնաբառը

Նախ, մենք մտադիր ենք ներմուծել մեր կախվածությունները.

sys ներմուծումից *

ներմուծել os

պատահական ներմուծում

ներմուծել hashlib

Հաջորդը, մենք կստեղծենք թղթապանակ `գաղտնաբառի հեշը և կեղծ ֆայլերը պահելու համար.

փորձեք. եթե ոչ os.path.exists ('desktop/safesetup'):

os.mkdir ('աշխատասեղան/safesetup/')

բացառությամբ OSError:

տպել («Թղթապանակ ստեղծելիս սխալ առաջացավ»)

Այս ծածկագիրը կստեղծի մի թղթապանակ, որը կոչվում է safesetup (եթե այն արդեն գոյություն չունի):

Դրանից հետո մենք մտադիր ենք գաղտնաբառ սահմանել և 1 -ից 100 -ի միջև պատահական թիվ ստեղծել ՝ որպես կեղծ ֆայլեր նավարկելու մեր միջոց:

գլոբալ գաղտնաբառ գաղտնաբառ = argv [1].encode ('utf-8')

n = պատահական. անվանում (1, 101)

Այժմ, երբ մենք ունենք մեր գաղտնաբառը և ֆայլի համարը, մենք ստեղծելու ենք 99 կեղծ ֆայլեր safesetup- ի ներսում և մեկ իրական ֆայլ, որը կպարունակի մեր գաղտնաբառի հեշը.

x միջակայքում (101). եթե (x! = n):

f = բաց (("desktop/safesetup/"+str (x)), "w+")

զ. փակել ()

այլ:

գաղտնաբառ = hashlib.sha256 (գաղտնաբառ).hexdigest ()

f = բաց (("desktop/safesetup/"+str (x)), "w+")

զ. գրել (գաղտնաբառ)

զ. փակել ()

տպել (n)

Իրական ֆայլը կոչվում է ինչ էլ որ լինի n թիվը: Այս ֆայլը պարունակում է մեր գաղտնաբառը ՝ sha256 ալգորիթմի միջոցով հեշի ենթարկվելուց հետո (այս հեշ ալգորիթմը լայնորեն օգտագործվում է կրիպտոարժույթներում, հատկապես Bitcoin- ում):

Հիշեք, թե ինչ է n- ն (այն տպվելու է վահանակում), քանի որ այն նույնքան կարևոր է, որքան գաղտնաբառը:

Դա այն ամենն է, ինչ մեզ անհրաժեշտ է մեր տեղադրման ծրագրի համար, ուստի այժմ կանցնենք գաղտնագրման/վերծանման ծրագրին:

Քայլ 2: Գաղտնագրման/վերծանման ֆայլ

Գաղտնագրման/վերծանման ֆայլ
Գաղտնագրման/վերծանման ֆայլ
Գաղտնագրման/վերծանման ֆայլ
Գաղտնագրման/վերծանման ֆայլ
Գաղտնագրման/վերծանման ֆայլ
Գաղտնագրման/վերծանման ֆայլ

Հիմնական ֆայլի կարգավորումների բաժինը ներմուծում է կախվածությունները, խափանում մուտքագրված գաղտնաբառը և առբերում իրական գաղտնաբառի հեշը ՝ մուտքագրված ֆայլի համարի միջոցով:

Նախ, կախվածությունները.

sys ներմուծումից *ներմուծում os

ներմուծել pyAesCrypt

ներմուծել hashlib

Հաջորդը, մուտքագրված գաղտնաբառի հեշինգը.

գաղտնաբառ = argv [1].encode ('utf-8') գաղտնաբառ = hashlib.sha256 (գաղտնաբառ).hexdigest ()

Վերջապես, հեշ գաղտնաբառի որոնում.

file_key = str (argv [2]) hash = open (("desktop/safesetup/" + file_key), ("r +")). կարդալ ()

Գաղտնագրման ֆայլի երկրորդ բաժինը համեմատում է հեշերը, որոշում համեմատության իսկությունը և օգտագործում է AESCrypt python գրադարանը ՝ ձեր ընտրած ֆայլը ծածկագրելու կամ վերծանելու համար: Սա բավականին մեծ կոդ է, բայց ես այն կբաժանեմ.

if (գաղտնաբառ == հաշ): տպել («Գաղտնաբառը ընդունված է»)

բուֆեր Չափը = 64 * 1024

գործողություն = str (մուտքագրում («Դուք ֆայլեր առբերու՞մ եք, թե՞ ծածկագրում եք (r կամ e)»))

եթե (գործողություն == 'r'):

file_name = str (մուտքագրում («Ֆայլ առբերելու համար.»))

pyAesCrypt.decryptFile ((file_name + ".aes"), file_name, գաղտնաբառ, bufferSize)

os.remove ((file_name + ".aes"))

elif (գործողություն == 'e'):

file_name = str (մուտքագրում («Գաղտնագրման ֆայլ.»))

pyAesCrypt.encryptFile (ֆայլի_անուն, [ֆայլի_անուն +..աես »), գաղտնաբառ, բուֆեր Չափ)

os.remove (ֆայլի_անուն)

այլ:

տպել ("Սխալ. սխալ մուտքագրում")

այլ:

տպել («Մուտքը մերժված է»)

Առաջին if հայտարարությունը որոշում է, թե արդյոք համընկնում են hashed գաղտնաբառերը: Եթե նրանք դա անում են, այնուհետև հարցնում են ՝ արդյոք ցանկանում եք ծածկագրել ֆայլերը կամ առբերել կոդավորված ֆայլերը: Կախված ձեր մուտքագրումից ՝ այն կամ ծածկագրելու կամ վերծանելու է տրամադրված ֆայլը: Երբ պահանջվում է տալ ֆայլի անունը, համոզվեք, որ նշեք ուղին, եթե ֆայլը նույն գրացուցակում չէ, ինչ python ծրագիրը: Programրագիրը ջնջում է ֆայլը իր նախկին վիճակում ՝ այն փոխարինելով կոդավորված.aes ֆայլով կամ վերծանելով այն փոխարինելով սկզբնական ֆայլով:

Հետագայում, հնարավոր է, սա թարմացնեմ ՝ Python OpenCV գրադարանի միջոցով դեմքի ճանաչում ներառելու համար, բայց առայժմ գաղտնաբառերը բավական կլինեն:

Քայլ 3: Ֆայլերի շահագործում

Կարգավորման ֆայլը գործարկելու համար հետևեք հետևյալ քայլերին.

1. Մուտքագրեք տերմինալը.

python3 գրացուցակ/setupname.py գաղտնաբառ (գրացուցակի, տեղադրման անվան և գաղտնաբառի փոխարինում իրենց համապատասխան արժեքներով)

2. Տերմինալը դուրս կբերի ձեր ֆայլի համարը: Պահպանեք սա:

Գաղտնագրման/վերծանման ծրագիրը գործարկելու համար հետևեք հետևյալ քայլերին.

1. Մուտքագրեք տերմինալը.

python3 գրացուցակ/filename.py գաղտնաբառի ֆայլ (գրացուցակի, ֆայլի անվան, գաղտնաբառի և ֆայլի համարի փոխարինում իրենց համապատասխան արժեքներով)

2. Այնուհետև տերմինալը կամ կընդունի կամ մերժի ձեր գաղտնաբառը: Մերժման դեպքում նորից փորձեք և համոզվեք, որ ճիշտ արժեքներ եք մուտքագրում: Երբ թույլտվություն տրվի, տերմինալը ձեզ կխնդրի ՝ ցանկանում եք ծածկագրել ֆայլը կամ ֆայլը առբերե՞լ: Ֆայլը ծածկագրելու համար մուտքագրեք e, և կոդավորված ֆայլը առբերելու համար մուտքագրեք r.

3. Այնուհետեւ ձեզանից կպահանջվի տրամադրել ֆայլի անունը: Հիշեք, որ տրամադրեք ֆայլի գրացուցակը, ինչպես նաև անունը, ինչպես նաև ֆայլի ընդլայնումը: Այնուամենայնիվ, եթե դուք գաղտնագրում եք ֆայլը, մի մուտքագրեք.aes- ի ընդլայնման մասը, քանի որ դրա կոդն է դրա պատճառը:

4. Այնուհետեւ ծրագիրը ծածկագրում կամ վերծանում է տրամադրված ֆայլը և ջնջում ֆայլը իր նախկին վիճակում (պահպանելով գաղտնագրված կամ գաղտնագրված ֆայլը):

Վոյա! Շնորհակալություն ուսանելի դարձնելու համար, ես գիտեմ, որ կոդի ձեռնարկներ կարդալը ամենազվարճալին չէ: Պիթոնի ֆայլերը կցված են այս քայլին, ձեզանից նրանց համար, ովքեր ցանկանում են դրան հարված հասցնել: Եվս մեկ անգամ, շնորհակալություն ընթերցման համար, և մաղթում եմ ձեզ հաջողություն ձեր հետագա կոդավորման ձեռնարկներում:

Խորհուրդ ենք տալիս: