Tartalomjegyzék:
- 1. lépés: A telepítőfájl írása
- 2. lépés: A titkosítási/visszafejtési fájl
- 3. lépés: A fájlok kezelése
Videó: Python biztonsági titkosító/visszafejtő szoftver: 3 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:42
Ebben az utasításban megmutatom, hogyan lehet néhány egyszerű Python segítségével biztonságban tartani fájljait az iparági szabványos AES használatával.
Követelmények:
- Python 3.7
- PyAesCrypt könyvtár
- hashlib könyvtár
Ha nem rendelkezik ezekkel a könyvtárakkal, egyszerűen telepítheti a következőt:
pip3 telepítse a hashlib -et
pip3 telepítse a PyAesCrypt programot
a terminálban (vagy CMD -ben)
Ezeknek már rendelkeznie kell:
- véletlen könyvtár
- os könyvtár
- rendszerkönyvtár
OS X -et használok, de ennek nem kell túl sokat számítania, kivéve a perjelek irányát a fájl elérési útjaiban (OS X: /, Windows:)
Kérjük, vegye figyelembe: bizonyos hibák miatt a kód bemélyedései valamilyen oknál fogva nem jelennek meg. Következésképpen a megjelenített kódban nem lesznek bemélyedések, de jelen vannak a végén csatolt Python -fájlokban és a mellékelt képeken. Csak ne vegye ki a kódot közvetlenül a megjelenített szövegből, mert a behúzások hiánya miatt nem fog működni
Ha minden függőség telepítve van, akkor folytassuk az 1. lépéssel.
1. lépés: A telepítőfájl írása
Az egyik olyan tényező, amely ezt biztonságossá teszi, a hash -ek használata a jelszó ellenőrzéséhez. A telepítőfájl (az enyémet setupsafe.py -nak hívom) a következő helyre kerül:
- Hozzon létre egy mappát és dummy fájlokat a jelszóhoz
- Állítsa be a jelszót
- Állítsa be a fájl számát
- Hash a jelszó
Először is importáljuk a függőségeinket:
a sys importből *
importál
véletlenszerű importálás
hashlib importálása
Ezután létrehozunk egy mappát a jelszó kivonatának és a dummy fájloknak:
próbáld meg: ha nem az os.path.exists ('desktop/safesetup'):
os.mkdir ('desktop/safesetup/')
kivéve OSError:
print ("Hiba a mappa létrehozásakor")
Ez a kód létrehozza a safesetup nevű mappát (hacsak nem létezik).
Ezt követően beállítjuk a jelszót, és egy véletlenszerű számot generálunk 1 és 100 között, hogy navigáljunk a dummy fájlokban:
globális jelszó jelszó = argv [1].encode ('utf-8')
n = random.randint (1, 101)
Most, hogy megvan a jelszavunk és a fájlszámunk, 99 dummy fájlt fogunk létrehozni a safesetupon belül, és egy valódi fájlt, amely tartalmazza a jelszó -kivonatunkat:
x esetén a (101) tartományban: ha (x! = n):
f = nyitott (("" desktop/safesetup/"+str (x))," w+")
f. bezár ()
más:
jelszó = hashlib.sha256 (jelszó).hexdigest ()
f = nyitott (("" desktop/safesetup/"+str (x))," w+")
f.write (jelszó)
f. bezár ()
nyomtatás (n)
A valódi fájlt bármilyen n egész számnak nevezzük. Ez a fájl tartalmazza a jelszavunkat, miután a sha256 algoritmussal kivonatolták (ezt a hash algoritmust széles körben használják a kriptovalutákban, különösen a Bitcoinban).
Ne feledje, mi az n (a konzolon lesz kinyomtatva), mivel ugyanolyan fontos, mint a jelszó.
Ez minden, amire szükségünk van a telepítőprogramunkhoz, ezért most térjünk át a titkosítási/visszafejtési programra.
2. lépés: A titkosítási/visszafejtési fájl
A fő fájl beállítási része importálja a függőségeket, kivonatolja a bevitt jelszót, és a beírt fájlszám használatával lekéri a valódi jelszó -kivonatot.
Először is, a függőségek:
sys import *import os
pyAesCrypt importálása
hashlib importálása
Ezután a beírt jelszó kivonata:
jelszó = argv [1].encode ('utf-8') jelszó = hashlib.sha256 (jelszó).hexdigest ()
Végül a kivonatolt jelszó lekérése:
file_key = str (argv [2]) hash = open (("" desktop/safesetup/" + file_key), (" r + ")). read ()
A titkosító fájl második része összehasonlítja a kivonatokat, meghatározza az összehasonlítás valódiságát, és az AESCrypt python könyvtár segítségével titkosítja vagy visszafejti a választott fájlt. Ez egy meglehetősen nagy kódrészlet, de lebontom:
if (jelszó == hash): print ("Jelszó elfogadva")
bufferSize = 64 * 1024
művelet = str (input ("Fájlok letöltése vagy titkosítása? (r vagy e)"))
ha (művelet == 'r'):
file_name = str (input ("Visszakeresendő fájl:"))
pyAesCrypt.decryptFile ((fájlnév + ".aes"), fájlnév, jelszó, bufferSize)
os.remove ((fájlnév + ".aes"))
elif (művelet == 'e'):
file_name = str (input ("Titkosítandó fájl:"))
pyAesCrypt.encryptFile (fájlnév, (fájlnév + ".aes"), jelszó, bufferSize)
os.remove (fájl_neve)
más:
print ("Hiba: helytelen bemenet")
más:
nyomtatás ("Hozzáférés megtagadva")
Az első if utasítás határozza meg, hogy a kivonatolt jelszavak megegyeznek -e. Ha igen, akkor tovább kérdezi, hogy szeretné -e titkosítani a fájlokat, vagy le szeretné -e tölteni a titkosított fájlokat. A beviteltől függően titkosítja vagy visszafejti a megadott fájlt. Amikor a rendszer felkéri a fájl nevének megadására, feltétlenül adja meg az elérési utat, kivéve, ha a fájl ugyanabban a könyvtárban található, mint a python program. A program törli a fájlt a korábbi állapotában, lecseréli egy titkosított.aes fájlra, vagy visszafejti, és lecseréli az eredeti fájlra.
A jövőben frissíthetem ezt az arcfelismeréssel, a Python OpenCV könyvtár használatával, de egyelőre elegendő a jelszó.
3. lépés: A fájlok kezelése
A telepítőfájl futtatásához kövesse az alábbi lépéseket:
1. Gépelje be a terminált:
python3 könyvtár/setupname.py jelszó (a könyvtár, a beállításnév és a jelszó helyettesítése a megfelelő értékekkel)
2. A terminál kiadja a fájl számát. Tartsd meg.
A titkosítási/visszafejtési program futtatásához kövesse az alábbi lépéseket:
1. Gépelje be a terminált:
python3 könyvtár/fájlnév.py jelszó fájlszáma (a könyvtár, fájlnév, jelszó és fájlszám helyettesítése a megfelelő értékekkel)
2. A terminál ekkor elfogadja vagy elutasítja a jelszavát. Ha elutasítja, próbálja újra, és győződjön meg arról, hogy a megfelelő értékeket írja be. A hozzáférés megadása után a terminál megkérdezi, hogy szeretne -e titkosítani egy fájlt vagy lekérni egy fájlt. Fájl titkosításához írja be az e, a titkosított fájl lekéréséhez pedig az r parancsot.
3. Ezután meg kell adnia a fájl nevét. Ne felejtse el megadni a fájl könyvtárát, valamint a nevét és a fájlkiterjesztést. Ha azonban visszafejt egy fájlt, ne írja be a kiterjesztés.aes részét, mivel a kód ezt elszámolja.
4. A program ezután titkosítja vagy visszafejti a megadott fájlt, és törli a fájlt az előző állapotában (megtartva a titkosított vagy visszafejtett fájlt).
Voálá! Köszönöm, hogy idáig eljutott az oktatható részig, tudom, hogy a kódoktató -könyvek olvasása nem a legszórakoztatóbb. A python fájlokat ebben a lépésben mellékeljük azoknak, akik ezt szeretnék kipróbálni. Még egyszer köszönöm, hogy elolvasta, és sok sikert kívánok a további kódolási törekvésekhez.
Ajánlott:
A Raspbian OS telepítése a Raspberry Pi programba a NOOBS szoftver és okostelefon használatával: 6 lépés
Hogyan telepítsük a Raspbian OS -t a Raspberry Pi -be a NOOBS szoftver és okostelefon használatával: Üdv mindenkinek! ma ebben az oktatóanyagban megmutatom, milyen könnyen telepíthető a Raspbian OS a Raspberry Pi -be a NOOBS szoftver és az okostelefon segítségével
Az első egyszerű szoftver elkészítése a Python használatával: 6 lépés
Hogyan készítsük el első egyszerű szoftverünket a Python használatával: Üdvözöljük ebben az utasításban. Itt elmondom, hogyan lehet saját szoftvert készíteni. Igen, ha van ötlete … de tudja, hogyan kell megvalósítani, vagy érdekli az új dolgok létrehozása, akkor ez az Ön számára …… Előfeltétel: Alapvető ismeretekkel kell rendelkeznie a P
Ingyenes szoftver letöltése ISU hallgatóként (Microsoft, Adobe és biztonsági szoftver: 24 lépés
Ingyenes szoftver letöltése ISU hallgatóként (Microsoft, Adobe és biztonsági szoftver: Adobe esetén: folytassa az 1. lépéssel. Microsoft esetében: folytassa a 8. lépéssel. Biztonság: folytassa a 12. lépéssel. Azure esetén: folytassa a 16. lépéssel
Egygombos női biztonsági biztonsági rendszer: 3 lépés
Egygombos női biztonsági biztonsági rendszer: Egyérintéses riasztó Női biztonsági rendszer 8051 mikrovezérlővelA mai világban a nők biztonsága a legfontosabb kérdés az országban. Ma a nőket zaklatják és zavarják, és néha, amikor sürgős segítségre van szükség. Nincs kötelező helymeghatározás
Egyszerű üzenet titkosító/visszafejtő létrehozása a Jegyzettömb segítségével: 5 lépés
Egyszerű üzenet titkosító/visszafejtő létrehozása a Jegyzettömb segítségével: Üdvözöljük ezzel az egyszerű HTML -alkalmazással, és jelszóval titkosíthatjuk és visszafejthetjük üzenetünket. Először is megmutatom, hogyan kell létrehozni, majd megmutatom, hogyan kell használni. Kezdjük