Talaan ng mga Nilalaman:
- Hakbang 1: Pagsulat ng Setup File
- Hakbang 2: Ang Encryption / decryption File
- Hakbang 3: Pagpapatakbo ng Mga File
Video: Python Security Encryption / Decryption Software: 3 Mga Hakbang
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:13
Sa Instructable na ito ay ipapakita ko sa iyo kung paano sa ilang simpleng Python, mapapanatili mong ligtas ang iyong mga file gamit ang pamantayang AES sa industriya.
Mga Kinakailangan:
- Python 3.7
- PyAesCrypt library
- hashlib library
Kung wala kang mga library na ito, madali kang makakapag-install sa pamamagitan ng pagta-type:
pip3 i-install ang hashlib
pip3 i-install ang PyAesCrypt
sa terminal (o CMD)
Dapat ay mayroon ka ng mga ito:
- random library
- os library
- system library
Gumagamit ako ng OS X, ngunit hindi dapat masyadong mahalaga, maliban sa direksyon ng mga slash sa mga file path (OS X: /, Windows: )
Mangyaring tandaan: Dahil sa ilang glitch, ang mga indentation sa code ay hindi ipinapakita sa ilang kadahilanan. Dahil dito ay walang mga indentasyon sa ipinakitang code, subalit naroroon ang mga ito sa mga file ng Python na na-attach ko sa dulo, at sa mga nakapaloob na larawan. Huwag lamang kunin ang code nang direkta mula sa ipinakitang teksto, sapagkat hindi ito gagana dahil sa kakulangan ng mga indentasyon
Kung na-install mo ang lahat ng mga dependance, magpatuloy tayo sa Hakbang 1.
Hakbang 1: Pagsulat ng Setup File
Isa sa mga kadahilanan na ginagawang ligtas ito ay ang paggamit ng mga hash upang suriin ang password. Ang file ng pag-setup (tumatawag ako sa aking setupsafe.py) ay pupunta sa:
- Lumikha ng isang folder at dummy file para sa password
- Itakda ang password
- Itakda ang numero ng file
- Hash ang password
Una, mag-a-import kami ng aming mga dependance:
mula sa sys import *
import os
mag-import ng random
import hashlib
Susunod na lilikha kami ng isang folder upang mailagay ang hash ng password at ang mga dummy file:
subukan: kung hindi os.path.exists ('desktop / safesetup'):
os.mkdir ('desktop / safesetup /')
maliban sa OSError:
i-print ("Error sa paglikha ng folder")
Lilikha ang code na ito ng isang folder na tinatawag na safesetup (maliban kung mayroon na ito).
Pagkatapos nito, itatakda namin ang password, at bubuo ng isang random na numero sa pagitan ng 1 at 100 bilang aming paraan upang mag-navigate sa mga dummy file:
pandaigdigang passwordpassword = argv [1].encode ('utf-8')
n = random.randint (1, 101)
Ngayong mayroon kami ng aming password at numero ng aming file, lilikha kami ng 99 mga dummy file sa loob ng pag-save, at isang tunay na file na maglalaman ng aming hash ng password:
para sa x sa saklaw (101): kung (x! = n):
f = bukas (("desktop / safesetup /" + str (x)), "w +")
f.close ()
iba pa:
password = hashlib.sha256 (password).hexdigest ()
f = bukas (("desktop / safesetup /" + str (x)), "w +")
f.write (password)
f.close ()
i-print (n)
Ang totoong file ay tinatawag na kung ano man ang integer n. Naglalaman ang file na ito ng aming password, pagkatapos na ma-hash gamit ang sha256 algorithm (ang hash algorithm na ito ay malawakang ginagamit sa mga cryptocurrency, lalo na ang Bitcoin).
Tandaan kung ano ang n (mai-print ito sa console), dahil ito ay kasing kahalaga ng password.
Iyon lang ang kailangan namin para sa aming programa sa pag-set up, kaya't lilipat kami ngayon sa programa ng pag-encrypt / decryption.
Hakbang 2: Ang Encryption / decryption File
Ang seksyon ng pag-setup ng pangunahing file ay nag-i-import ng mga dependance, na-hash ang naka-input na password, at kinukuha ang tunay na hash ng password gamit ang naka-input na numero ng file.
Una, ang mga dependance:
mula sa sys import * import os
i-import ang pyAesCrypt
import hashlib
Susunod, ang pag-hash ng naka-input na password:
password = argv [1].encode ('utf-8') password = hashlib.sha256 (password).hexdigest ()
Sa wakas, ang hashed pagkuha ng password:
file_key = str (argv [2]) hash = open (("desktop / safesetup /" + file_key), ("r +")). basahin ()
Ang ikalawang seksyon ng file ng pag-encrypt ay naghahambing ng mga hash, tinutukoy ang katotohanan ng paghahambing, at ginagamit ang AESCrypt python library upang i-encrypt o i-decrypt ang iyong file na pinili. Ito ay isang malaking piraso ng code, ngunit babaliin ko ito:
kung (password == hash): i-print ("Tinanggap ang password")
bufferSize = 64 * 1024
operasyon = str (input ("Kinukuha mo ba o naka-encrypt ang mga file? (r o e)"))
kung (pagpapatakbo == 'r'):
file_name = str (input ("File upang makuha:"))
pyAesCrypt.decryptFile ((file_name + ".aes"), file_name, password, bufferSize)
os.remove ((file_name + ".aes"))
elif (pagpapatakbo == 'e'):
file_name = str (input ("File to encrypt:"))
pyAesCrypt.encryptFile (file_name, (file_name + ".aes"), password, bufferSize)
os.remove (file_name)
iba pa:
i-print ("Error: Maling input")
iba pa:
i-print ("Tinanggihan ang pag-access")
Tinutukoy ng una kung pahayag kung tumutugma ang mga hash password. Kung gagawin nila ito, nagpapatuloy itong magtanong kung nais mong i-encrypt ang mga file o kunin ang mga naka-encrypt na file. Nakasalalay sa iyong pag-input, mai-encrypt o mai-decrypt nito ang ibinigay na file. Kapag sinenyasan na ibigay ang pangalan ng file, tiyaking tukuyin ang landas maliban kung ang file ay nasa parehong direktoryo ng python program. Tinatanggal ng programa ang file sa dating estado nito, pinapalitan ito ng isang naka-encrypt na.aes na file, o na-decrypt ito at pinalitan ito ng orihinal na file.
Sa hinaharap, maaari kong i-update ito upang isama ang pagkilala sa mukha gamit ang Python OpenCV library, ngunit sa ngayon ang mga password ay kailangang sapat.
Hakbang 3: Pagpapatakbo ng Mga File
Upang patakbuhin ang setup file, sundin ang mga hakbang na ito:
1. Mag-type sa terminal:
direktoryo ng python3 / setupname.py password (pinapalitan ang direktoryo, setupname, at password sa kani-kanilang halaga)
2. Ang terminal ay maglalabas ng iyong numero ng file. Itago mo to.
Upang patakbuhin ang programa ng pag-encrypt / decryption, sundin ang mga hakbang na ito:
1. Mag-type sa terminal:
direktoryo ng python3 / filename.py password filenumber (pinapalitan ang direktoryo, filename, password, at filenumber sa kani-kanilang halaga)
2. Tatanggapin o tatanggihan ng terminal ang iyong password. Kung tinanggihan, subukang muli at tiyaking nagta-type ka sa mga tamang halaga. Kapag naibigay na ang pag-access, tatanungin ka ng terminal kung nais mong i-encrypt ang isang file o kunin ang isang file. Upang mag-encrypt ng isang file, i-type ang e, at upang makuha ang isang naka-encrypt na file, i-type ang r.
3. Hihilingin sa iyo na ibigay ang pangalan ng file. Tandaan na ibigay ang direktoryo ng file pati na rin ang pangalan, at pati na rin ang file extension. Gayunpaman, kung nag-decrypt ka ng isang file, huwag i-type ang bahagi ng.aes ng extension, bilang mga code ng account para doon.
4. Pagkatapos ay i-encrypt o mai-decryt ng programa ang ibinigay na file, at tinatanggal ang file sa dating estado nito (pinapanatili ang naka-encrypt o na-decrypt na file).
Voila! Salamat sa paggawa nito sa itinuturo, alam kong ang pagbabasa ng mga tutorial ng code ay hindi ang pinaka nakakaaliw na bagay. Ang mga file ng python ay nakapaloob sa hakbang na ito, para sa iyo na nais bigyan ito ng shot. Muli, salamat sa pagbabasa, at hinihiling ko sa iyo ang pinakamahusay na kapalaran sa iyong mga pagsisikap sa pag-coding sa hinaharap.
Inirerekumendang:
Gumawa ng Iyong Sariling GPS SMS Security Security System: 5 Hakbang (na may Mga Larawan)
Gawin ang Iyong Sariling Sistema ng Pagsubaybay sa Security ng GPS SMS: Sa proyektong ito ipapakita ko sa iyo kung paano pagsamahin ang isang module na SIM5320 3G sa isang Arduino at isang piezoelectric transducer bilang isang shock sensor upang lumikha ng isang sistema ng pagsubaybay sa seguridad na magpapadala sa iyo ng lokasyon ng iyong mahalagang sasakyan sa pamamagitan ng SMS kapag
Paano Mag-download ng Libreng Software Bilang isang ISU Student (Microsoft, Adobe, at Security Software: 24 Hakbang
Paano Mag-download ng Libreng Software Bilang isang ISU Student (Microsoft, Adobe, at Security Software: Para sa Adobe: pumunta sa hakbang 1. Para sa Microsoft: pumunta sa hakbang 8. Para sa Seguridad: pumunta sa hakbang 12. Para sa Azure: pumunta sa hakbang 16
Electronic Security Controlled Security System: 5 Hakbang
Sistema ng Seguridad na Kinokontrol ng Elektronikong Mata: Hey guys! Sa proyektong ito, makikita natin ang isang simpleng aplikasyon sa Home Security na tinatawag na Electronic Eye Controlled Security System na gumagamit ng LDR bilang pangunahing sensor at ilang iba pang mga bahagi. Ang electronic eye ay tinatawag ding magic eye. Bilang isang awtomatiko ay isang umusbong
Ang password ng isang Usb Drive Na May Out Encryption Gamit ang isang Batch File: 8 Hakbang
Ang isang Usb Drive na May Out Encryption na May Isang Batch File: isang programa na hindi hahayaan ang isang gumagamit sa isang drive nang walang isang password at magpapakita ng isang may-ari ng file na maaari mong baguhin sa willthis ay magpapakita sa iyo kung paano gamitin ang program na ginawa ko nang madali
Paano Suriin ang Iyong Mga Detalye ng Computer Bago Bumili ng Mga Laro / software .: 6 Mga Hakbang
Paano Suriin ang Iyong Mga Detalye ng Computer Bago Bumili ng Mga Laro / software .: Sinasaklaw ng gabay na ito ang hinihiling ng lahat ng mga laro / software. Ipinapakita sa iyo ng gabay na ito kung paano suriin kung ang iyong computer ay maaaring magpatakbo at mag-install ng isang cd o dvd na inilagay mo sa iyong computer. Maaari mo ring suriin ang http://cyri.systemrequirementslab.com/srtest/ (mula sa gumagamit na Kweeni