Orodha ya maudhui:

Usalama wa Usalama wa Python / Programu ya Kusimbua: 3 Hatua
Usalama wa Usalama wa Python / Programu ya Kusimbua: 3 Hatua

Video: Usalama wa Usalama wa Python / Programu ya Kusimbua: 3 Hatua

Video: Usalama wa Usalama wa Python / Programu ya Kusimbua: 3 Hatua
Video: 😰😰😰mwizi achomwa 🔥🔥🔥 aki watu hamtaona mbinguni⛪⛪ 2024, Novemba
Anonim
Usalama wa Usalama wa Python / Programu ya Usimbuaji
Usalama wa Usalama wa Python / Programu ya Usimbuaji
Usalama wa Usalama wa Python / Programu ya Usimbuaji
Usalama wa Usalama wa Python / Programu ya Usimbuaji

Katika Agizo hili nitakuonyesha jinsi na chatu rahisi, unaweza kuweka faili zako salama kwa kutumia kiwango cha tasnia cha AES.

Mahitaji:

- Python 3.7

- Maktaba ya PyAesCrypt

- maktaba ya hashlib

Ikiwa hauna maktaba hizi, unaweza kusanikisha kwa urahisi kwa kuandika:

pip3 kufunga hashlib

pip3 sakinisha PyAesCrypt

kwenye terminal (au CMD)

Unapaswa kuwa na hizi tayari:

- maktaba ya nasibu

- maktaba ya os

- maktaba ya mfumo

Ninatumia OS X, lakini haipaswi kujali sana, isipokuwa kwa mwelekeo wa kupigwa kwa njia za faili (OS X: /, Windows: )

Tafadhali kumbuka: Kwa sababu ya glitch fulani, maandishi ya nambari hayaonyeshi kwa sababu fulani. Kwa hivyo hakutakuwa na indentations katika nambari iliyoonyeshwa, hata hivyo ziko kwenye faili za Python nilizoambatanisha mwishoni, na kwenye picha zilizofungwa. Usichukue nambari moja kwa moja kutoka kwa maandishi yaliyoonyeshwa, kwa sababu haitafanya kazi kwa sababu ya ukosefu wa hati

Ikiwa una vitegemezi vyote vimewekwa, wacha tuendelee na Hatua ya 1.

Hatua ya 1: Kuandika Faili ya Usanidi

Kuandika Faili ya Usanidi
Kuandika Faili ya Usanidi
Kuandika Faili ya Usanidi
Kuandika Faili ya Usanidi
Kuandika Faili ya Usanidi
Kuandika Faili ya Usanidi
Kuandika Faili ya Usanidi
Kuandika Faili ya Usanidi

Moja ya sababu zinazofanya hii iwe salama sana ni matumizi ya hashes kuangalia nywila. Faili ya kuanzisha (ninapigia simu setupsafe.py) itaenda:

- Unda folda na faili za dummy kwa nywila

- Weka nenosiri

- Weka nambari ya faili

- Hash password

Kwanza, tutaingiza utegemezi wetu:

kutoka kuagiza sys *

kuagiza os

kuagiza bila mpangilio

kuagiza hashlib

Ifuatayo tutaunda folda ya kuweka hashi ya nywila na faili za dummy:

jaribu: ikiwa sio os.path.exists ('desktop / safesetup'):

os.mkdir ('desktop / safesetup /')

isipokuwa OSError:

chapa ("Kosa kuunda folda")

Nambari hii itaunda folda inayoitwa safesetup (isipokuwa ipo tayari).

Baada ya haya, tutaweka nenosiri, na tutaunda nambari kati ya 1 na 100 kama njia yetu ya kuzunguka faili za dummy:

neno la siri la ulimwengu = argv [1].encode ('utf-8')

n = bahati nasibu (1, 101)

Sasa kwa kuwa tuna nenosiri na nambari yetu ya faili, tutaunda faili 99 za dummy ndani ya safesetup, na faili moja halisi ambayo itakuwa na hash ya nywila yetu:

kwa x katika masafa (101): ikiwa (x! = n):

f = fungua (("desktop / safesetup /" + str (x)), "w +")

f. karibu ()

mwingine:

nywila = hashlib.sha256 (nywila).hexdigest ()

f = fungua (("desktop / safesetup /" + str (x)), "w +")

f. andika (nywila)

f. karibu ()

chapisha (n)

Faili halisi inaitwa chochote nambari kamili n. Faili hii ina nenosiri letu, baada ya kuharishwa kwa kutumia hesabu ya sha256 (algorithm hii ya hashi hutumiwa sana katika sarafu, haswa Bitcoin).

Kumbuka n ni nini (itachapishwa kwenye koni), kwani ni muhimu tu kama nenosiri.

Hiyo ndiyo yote tunayohitaji kwa programu yetu ya usanidi, kwa hivyo sasa tutahamia kwenye programu ya usimbuaji / usimbuaji.

Hatua ya 2: Faili ya Usimbuaji / usimbaji fiche

Faili ya Usimbuaji / usimbaji fiche
Faili ya Usimbuaji / usimbaji fiche
Faili ya Usimbuaji / usimbaji fiche
Faili ya Usimbuaji / usimbaji fiche
Faili ya Usimbuaji / usimbaji fiche
Faili ya Usimbuaji / usimbaji fiche

Sehemu ya usanidi wa faili kuu inaingiza wategemezi, inasafisha nywila iliyoingizwa, na inapata hashi halisi ya nywila kwa kutumia nambari ya faili iliyoingizwa.

Kwanza, utegemezi:

kutoka sys kuagiza * kuagiza os

kuagiza pyAesCrypt

kuagiza hashlib

Ifuatayo, hashing ya nywila iliyoingizwa:

nywila = argv [1].encode ('utf-8') password = hashlib.sha256 (password).hexdigest ()

Mwishowe, kurudisha nenosiri kwa haraka:

file_key = str (argv [2]) hash = open (("desktop / safesetup /" + file_key), ("r +")) soma ()

Sehemu ya pili ya faili fiche inalinganisha hashes, huamua ukweli wa ulinganishaji, na hutumia maktaba ya chatu ya AESCrypt kusimba au kusimbua faili yako ya chaguo. Hii ni sehemu kubwa ya nambari, lakini nitaivunja:

ikiwa (password == hash): chapa ("Nenosiri limekubaliwa")

bafaSize = 64 * 1024

operesheni = str (ingizo ("Je! unarudisha au kusimba faili? (r au e)"))

ikiwa (operesheni == 'r'):

file_name = str (ingizo ("Faili ya kupata:"))

pyAesCrypt.decryptFile ((file_name + ".aes"), file_name, nywila, bafaSize)

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

elif (operesheni == 'e'):

file_name = str (ingizo ("Faili kwa usimbuaji:"))

pyAesCrypt.encryptFile (file_name, (file_name + ".aes"), nywila, bafaSize)

Ondoa (faili_ jina)

mwingine:

chapa ("Kosa: Ingizo lisilo sahihi")

mwingine:

chapa ("Ufikiaji umekataliwa")

Taarifa ya kwanza ikiwa huamua ikiwa nywila zilizo na hesabu zinalingana. Ikiwa watafanya hivyo, inaendelea kuuliza ikiwa unataka kusimba faili au upate faili zilizosimbwa. Kulingana na uingizaji wako, itasimbua au kusimbua faili iliyotolewa. Unapohitajika kutoa jina la faili, hakikisha kutaja njia isipokuwa faili iko kwenye saraka sawa na programu ya chatu. Mpango huo unafuta faili hiyo katika hali yake ya zamani, na kuibadilisha na faili ya.aes iliyosimbwa, au kuisimbua na kuibadilisha na faili asili.

Katika siku zijazo, ninaweza kusasisha hii ni pamoja na utambuzi wa uso kwa kutumia maktaba ya Python OpenCV, lakini kwa sasa nywila zitatosha.

Hatua ya 3: Uendeshaji wa Faili

Ili kuendesha faili ya usanidi, fuata hatua hizi:

1. Andika kwenye terminal:

saraka ya python3 / setupname.py password (kubadilisha saraka, jina la usanidi, na nywila na maadili yao)

2. Kituo kitatoa nambari yako ya faili. Weka hii.

Ili kuendesha programu ya usimbuaji / usimbuaji, fuata hatua hizi:

1. Andika kwenye terminal:

saraka ya python3 / jina la faili.py nambari ya nywila (kubadilisha saraka, jina la faili, nywila, na nambari ya faili na maadili yao)

2. Kituo hicho kitakubali au kukataa nywila yako. Ikiwa imekataliwa, jaribu tena na uhakikishe kuwa unaandika katika maadili sahihi. Mara tu ufikiaji utakapopewa, wastaafu watakuuliza ikiwa unataka kusimba faili au upate faili. Kusimba faili fiche, andika e, na kupata faili iliyosimbwa kwa njia fiche, andika r.

3. Kisha utaulizwa kutoa jina la faili. Kumbuka kutoa saraka ya faili pamoja na jina, na pia ugani wa faili. Walakini, ikiwa unasimbua faili, usichape sehemu ya.aes ya kiendelezi, kwani nambari hiyo inachukua akaunti hiyo.

4. Mpango kisha huweka fiche au kusimbua faili iliyotolewa, na kufuta faili katika hali yake ya awali (kubakiza faili iliyosimbwa au iliyosimbwa).

Voila! Asante kwa kuifanya iweze kufundishwa, najua kusoma mafunzo ya nambari sio jambo la kufurahisha zaidi. Faili za chatu zimefungwa katika hatua hii, kwa wale ambao wanataka kuipiga risasi. Kwa mara nyingine tena, asante kwa kusoma, na ninakutakia mafanikio mema katika kazi zako za usimbuaji za siku zijazo.

Ilipendekeza: