Turinys:
- 1 veiksmas: rašykite sąrankos failą
- 2 veiksmas: šifravimo/iššifravimo failas
- 3 žingsnis: failų valdymas
Video: „Python“saugumo šifravimo/iššifravimo programinė įranga: 3 veiksmai
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:47
Šioje instrukcijoje aš jums parodysiu, kaip naudojant paprastą „Python“galite apsaugoti savo failus naudodami pramonės standartą AES.
Reikalavimai:
- „Python“3.7
- „PyAesCrypt“biblioteka
- „hashlib“biblioteka
Jei neturite šių bibliotekų, galite lengvai įdiegti įvesdami:
pip3 įdiegti hashlib
pip3 įdiegti PyAesCrypt
terminale (arba CMD)
Šiuos jau turėtumėte turėti:
- atsitiktinė biblioteka
- os biblioteka
- sistemos biblioteka
Aš naudoju OS X, bet tai neturėtų būti per daug svarbu, išskyrus brūkšnių kryptį failų keliuose (OS X: /, Windows:)
Atkreipkite dėmesį: dėl tam tikrų nesklandumų kodo įdubos dėl tam tikrų priežasčių nerodomos. Todėl rodomame kode nebus įbrėžimų, tačiau jie yra „Python“failuose, kuriuos pridėjau pabaigoje, ir pridėtose nuotraukose. Tiesiog neimkite kodo tiesiai iš rodomo teksto, nes jis neveiks dėl įterpimų trūkumo
Jei įdiegėte visas priklausomybes, pereikime prie 1 veiksmo.
1 veiksmas: rašykite sąrankos failą
Vienas iš veiksnių, dėl kurių tai yra taip saugu, yra maišos naudojimas slaptažodžiui patikrinti. Sąrankos failas (aš vadinu „setupsafe.py“) bus skirtas:
- Sukurkite aplanką ir fiktyvius slaptažodžio failus
- Nustatykite slaptažodį
- Nustatykite failo numerį
- Sumaišykite slaptažodį
Pirmiausia importuosime savo priklausomybes:
iš sys importo *
importuoti
importuoti atsitiktinai
importuoti hashlib
Tada sukursime aplanką, kuriame bus slaptažodžio maišos ir fiktyvūs failai:
pabandykite: jei ne os.path.exists ('desktop/safesetup'):
os.mkdir ('desktop/safesetup/')
išskyrus OS klaidą:
spausdinti („Klaida kuriant aplanką“)
Šis kodas sukurs aplanką, pavadintą „safesetup“(nebent jis jau yra).
Po to mes nustatysime slaptažodį ir sugeneruosime atsitiktinį skaičių nuo 1 iki 100, kad galėtume naršyti fiktyvius failus:
global passwordpassword = argv [1].encode ('utf-8')
n = atsitiktinis.randint (1, 101)
Dabar, kai turime slaptažodį ir failo numerį, „SafeSetup“viduje sukursime 99 fiktyvius failus ir vieną tikrą failą, kuriame bus mūsų slaptažodžio maiša:
x diapazone (101): jei (x! = n):
f = atviras (("desktop/safesetup/"+str (x)), "w+")
f. uždaryti ()
Kitas:
slaptažodis = hashlib.sha256 (slaptažodis).hexdigest ()
f = atviras (("desktop/safesetup/"+str (x)), "w+")
f. rašyti (slaptažodis)
f. uždaryti ()
spausdinti (n)
Tikrasis failas vadinamas bet koks sveikasis skaičius n. Šiame faile yra mūsų slaptažodis po maišos naudojant „sha256“algoritmą (šis maišos algoritmas plačiai naudojamas kriptovaliutose, ypač „Bitcoin“).
Prisiminkite, kas yra n (jis bus atspausdintas konsolėje), nes jis yra toks pat svarbus kaip ir slaptažodis.
Tai viskas, ko mums reikia mūsų sąrankos programai, todėl dabar pereisime prie šifravimo/iššifravimo programos.
2 veiksmas: šifravimo/iššifravimo failas
Pagrindinio failo sąrankos skiltyje importuojamos priklausomybės, maišomas įvestas slaptažodis ir gaunama tikroji slaptažodžio maiša naudojant įvestą failo numerį.
Pirma, priklausomybės:
iš sys importas *importas os
importuoti pyAesCrypt
importuoti hashlib
Tada įvesto slaptažodžio maiša:
password = argv [1].encode ('utf-8') password = hashlib.sha256 (slaptažodis).hexdigest ()
Galiausiai, maišos slaptažodžio gavimas:
file_key = str (argv [2]) hash = open (("desktop/safesetup/" + file_key), ("r +")). read ()
Antrajame šifravimo failo skyriuje lyginamos maišos, nustatomas palyginimo tikrumas ir naudojama AESCrypt python biblioteka pasirinktam failui užšifruoti arba iššifruoti. Tai gana didelė kodo dalis, bet aš ją suskaidysiu:
if (slaptažodis == maiša): print („Slaptažodis priimtas“)
bufferSize = 64 * 1024
operacija = str (input ("Ar ieškote ar šifruojate failus? (r arba e)"))
jei (operacija == 'r'):
failo_pavadinimas = str (įvestis ("Gaunamas failas:"))
pyAesCrypt.decryptFile ((failo_pavadinimas + ".aes"), failo_pavadinimas, slaptažodis, buferio dydis)
os.remove ((failo_pavadinimas + ".aes"))
elif (operacija == 'e'):
file_name = str (įvestis ("Šifruojamas failas:"))
pyAesCrypt.encryptFile (failo_pavadinimas, (failo_pavadinimas + „.aes“), slaptažodis, buferio dydis)
os.remove (failo_pavadinimas)
Kitas:
spausdinti („Klaida: neteisinga įvestis“)
Kitas:
spausdinti („Prieiga uždrausta“)
Pirmasis if teiginys nustato, ar maišyti slaptažodžiai atitinka. Jei jie tai padarys, toliau bus klausiama, ar norite užšifruoti failus, ar gauti šifruotus failus. Priklausomai nuo jūsų įvesties, jis užšifruos arba iššifruos pateiktą failą. Kai būsite paraginti nurodyti failo pavadinimą, būtinai nurodykite kelią, nebent failas yra tame pačiame kataloge kaip ir „python“programa. Programa ištrina failą ankstesnėje būsenoje, pakeisdama jį užšifruotu.aes failu arba iššifruodama ir pakeisdama originaliu failu.
Ateityje galėčiau tai atnaujinti ir įtraukti veido atpažinimą naudojant „Python OpenCV“biblioteką, tačiau kol kas užteks slaptažodžių.
3 žingsnis: failų valdymas
Norėdami paleisti sąrankos failą, atlikite šiuos veiksmus:
1. Įveskite terminalą:
python3 katalogo/setupname.py slaptažodis (pakeičiant katalogą, sąrankos pavadinimą ir slaptažodį atitinkamomis reikšmėmis)
2. Terminalas išves jūsų failo numerį. Laikyk tai.
Norėdami paleisti šifravimo/iššifravimo programą, atlikite šiuos veiksmus:
1. Įveskite terminalą:
python3 katalogas/failo pavadinimas.py slaptažodžio failo numeris (pakeičiant katalogą, failo pavadinimą, slaptažodį ir failo numerį atitinkamomis reikšmėmis)
2. Tada terminalas priims arba atmes jūsų slaptažodį. Jei atmetama, bandykite dar kartą ir įsitikinkite, kad įvedėte teisingas vertes. Kai prieiga bus suteikta, terminalas paklaus, ar norite užšifruoti failą, ar nuskaityti failą. Norėdami užšifruoti failą, įveskite e, o jei norite gauti užšifruotą failą, įveskite r.
3. Tada jūsų bus paprašyta nurodyti failo pavadinimą. Nepamirškite nurodyti failo katalogo, pavadinimo ir failo plėtinio. Tačiau, jei iššifruojate failą, neveskite plėtinio.aes dalies, nes kodas tai lemia.
4. Tada programa užšifruoja arba iššifruoja pateiktą failą ir ištrina ankstesnės būsenos failą (išsaugodama užšifruotą arba iššifruotą failą).
Voila! Ačiū, kad padarėte tai taip pamokoma, žinau, kad kodo vadovėlių skaitymas nėra pats linksmiausias dalykas. Šiame žingsnyje pridedami „Python“failai tiems, kurie nori tai išbandyti. Dar kartą dėkoju, kad skaitote, ir linkiu sėkmės tolimesniuose kodavimo darbuose.
Rekomenduojamas:
Kaip įdiegti „Raspbian OS“programoje „Raspberry Pi“naudojant NOOBS programinę įrangą ir išmanųjį telefoną .: 6 veiksmai
Kaip įdiegti Raspbian OS į Raspberry Pi naudojant NOOBS programinę įrangą ir išmanųjį telefoną .: Sveiki visi! šiandien šioje pamokoje aš jums parodysiu, kaip lengvai įdiegti „Raspbian“OS „Raspberry Pi“naudojant NOOBS programinę įrangą ir išmanųjį telefoną
„Windows“diegimas „MacBook“(„Apple“programinė įranga): 8 veiksmai
„Windows“diegimas „MacBook“(„Apple“programinė įranga): Vienas iš „MacBook“privalumų yra tai, kad jis leidžia pasirinkti, ar veikia „Mac OS“, ar „Windows“(jei įdiegta). Tai leidžia vartotojui paleisti tam tikras programas ar žaidimus, kurie yra tik „Windows“operacinė sistema. Šis vadovas padės
Kaip atsisiųsti nemokamą programinę įrangą kaip ISU studentas („Microsoft“, „Adobe“ir saugos programinė įranga: 24 veiksmai
Kaip atsisiųsti nemokamą programinę įrangą kaip ISU studentas („Microsoft“, „Adobe“ir saugos programinė įranga: „Adobe“: pereikite prie 1 veiksmo. „Microsoft“: pereikite prie 8 veiksmo. Sauga: pereikite prie 12 veiksmo. „Azure“: pereikite prie 16 veiksmo
Norėdami įdiegti „Arduino“programinę įrangą (IDE) „Jetson Nano Developer Kit“: 3 veiksmai
Norėdami įdiegti „Arduino“programinę įrangą (IDE) „Jetson Nano Developer Kit“: ar jums reikės „Jetson Nano“kūrėjų rinkinio? Interneto ryšys su „jetson“lenta naudojant „Ethernet“lizdą arba įdiegtą „wifi“kortelę
Sukurkite paprastą pranešimų šifravimo/iššifravimo įrenginį naudodami užrašų knygelę: 5 žingsniai
Sukurkite paprastą pranešimų šifravimo/iššifravimo įrenginį naudodami užrašų knygelę: Sveiki, naudodami šią paprastą HTML programą galite užšifruoti ir iššifruoti savo pranešimą slaptažodžiu. Pirmiausia aš jums parodysiu, kaip jį sukurti, o tada parodysiu, kaip jį naudoti. Pradėkime