Агуулгын хүснэгт:
Видео: Python аюулгүй байдлын шифрлэлт/шифрийг тайлах програм хангамж: 3 алхам
2024 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2024-01-30 11:03
Энэхүү гарын авлагад би энгийн 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 ('desktop/safesetup/')
OSError -ээс бусад:
хэвлэх ("Фолдер үүсгэхэд алдаа гарлаа")
Энэ код нь Safesetup нэртэй хавтас үүсгэх болно (хэрэв энэ нь байхгүй бол).
Үүний дараа бид нууц үгээ тохируулж, 1 -ээс 100 хүртэлх санамсаргүй тоог үүсгэх болно.
дэлхийн нууц үг-= argv [1].encode ('utf-8')
n = санамсаргүй.randint (1, 101)
Нууц үг, файлын дугаартай болсны дараа бид Safesetup дотор 99 дамми файл, нууц үгийн хэшийг агуулсан нэг бодит файл үүсгэх гэж байна.
x -ийн хувьд (101): хэрэв (x! = n):
f = нээлттэй (("desktop/safesetup/"+str (x)), "w+")
f.clos ()
өөр:
нууц үг = hashlib.sha256 (нууц үг).hexdigest ()
f = нээлттэй (("desktop/safesetup/"+str (x)), "w+")
f. бичих (нууц үг)
f.clos ()
хэвлэх (n)
Бодит файлыг n гэсэн бүхэл тоо гэж нэрлэдэг. Энэ файл нь sha256 алгоритмыг ашиглан хэш хийсний дараа бидний нууц үгийг агуулдаг (энэ хэш алгоритмыг криптовалютад, ялангуяа Bitcoin -д өргөн ашигладаг).
N гэж юу болохыг санаарай (энэ нь консол дээр хэвлэгдэх болно), учир нь энэ нь нууц үг шиг чухал юм.
Энэ бол бидний тохиргооны програмд хэрэгтэй зүйл юм, тиймээс бид одоо шифрлэх/шифрлэх програм руу шилжих болно.
Алхам 2: Шифрлэлт/шифрийг тайлах файл
Үндсэн файлын тохиргооны хэсэг нь хамааралтай зүйлсийг импортлох, оруулсан нууц үгийг хэшлэх, оруулсан нууц үгийн хэшийг оруулсан файлын дугаарыг ашиглан авах боломжтой.
Нэгдүгээрт, хараат байдал:
sys import *import 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 (password == hash): хэвлэх ("Нууц үг хүлээн зөвшөөрсөн")
bufferSize = 64 * 1024
ажиллагаа = str (оролт ("Та файлуудыг сэргээж эсвэл шифрлэж байна уу? (r эсвэл e)"))
хэрэв (ажиллагаа == 'r'):
file_name = str (оролт ("Дахин авах файл:"))
pyAesCrypt.decryptFile ((file_name + ".aes"), file_name, password, bufferSize)
os.remove ((file_name + ".aes"))
elif (ажиллагаа == 'e'):
file_name = str (оролт ("Шифрлэх файл:"))
pyAesCrypt.encryptFile (file_name, (file_name + ".aes"), нууц үг, bufferSize)
os.remove (file_name)
өөр:
хэвлэх ("Алдаа: Буруу оролт")
өөр:
хэвлэх ("Хандалтыг хориглосон")
Эхний if if нь хэшлэгдсэн нууц үгнүүд таарч байгаа эсэхийг тодорхойлдог. Хэрэв тэд үүнийг хийвэл, дараа нь та файлуудыг шифрлэх эсвэл шифрлэгдсэн файлуудыг татаж авахыг хүсч байгаа эсэхийг асууна. Таны оруулсан зүйлээс хамааран энэ нь өгсөн файлыг шифрлэх эсвэл шифрлэх болно. Файлын нэрийг өгөхийг хүсэхэд файл нь python програмтай ижил лавлах санд байхгүй бол замыг зааж өгөхөө мартуузай. Програм нь файлыг өмнөх төлөвт нь устгаж, шифрлэгдсэн.aes файлаар солих, эсвэл шифрийг тайлж, анхны файлаар солих болно.
Ирээдүйд би үүнийг Python OpenCV номын санг ашиглан нүүр таних онцлогтой болгож шинэчлэх боломжтой боловч одоогоор нууц үг хангалттай байх болно.
Алхам 3: Файлын ажиллагаа
Тохиргооны файлыг ажиллуулахын тулд дараах алхмуудыг дагана уу.
1. Терминалыг оруулна уу:
python3 лавлах/setupname.py нууц үг (лавлах, тохиргооны нэр, нууц үгийг холбогдох утгуудаар солих)
2. Терминал нь таны файлын дугаарыг гаргана. Үүнийг хадгал.
Шифрлэх/шифрлэх програмыг ажиллуулахын тулд дараах алхмуудыг дагана уу.
1. Терминалыг оруулна уу:
python3 лавлах/filename.py нууц үгийн файлын дугаар (директор, файлын нэр, нууц үг, файлын дугаарыг тус тусын утгуудаар солих)
2. Дараа нь терминал таны нууц үгийг хүлээн авах эсвэл татгалзах болно. Хэрэв татгалзсан бол дахин оролдож, зөв утгыг оруулсан эсэхээ шалгаарай. Хандалтыг зөвшөөрсний дараа терминал нь файлыг шифрлэх эсвэл файлыг татаж авахыг хүсч байгаа эсэхийг асуух болно. Файлыг шифрлэхийн тулд e гэж бичээд шифрлэгдсэн файлыг авахын тулд r гэж бичнэ үү.
3. Дараа нь файлын нэрийг оруулахыг танаас хүсэх болно. Файлын лавлах, нэр, файлын өргөтгөлийг оруулахаа бүү мартаарай. Гэсэн хэдий ч хэрэв та файлын кодыг тайлж байгаа бол код нь үүнийг тайлбарласан тул өргөтгөлийн.aes хэсгийг бүү бичээрэй.
4. Дараа нь програм нь өгөгдсөн файлыг шифрлэж эсвэл шифрлэж, файлыг өмнөх төлөвт нь устгадаг (шифрлэгдсэн эсвэл шифрлэгдсэн файлыг хадгалах).
Воила! Үүнийг сургамжтай болгож өгсөнд баярлалаа, код унших нь хамгийн зугаатай зүйл биш гэдгийг би мэднэ. Python файлуудыг энэ алхамд хавсаргасан байгаа бөгөөд үүнийг хийхийг хүсч буй хүмүүст зориулагдсан болно. Дахин нэг удаа уншсанд баярлалаа, цаашдын кодлох ажилд тань амжилт хүсье.
Зөвлөмж болгож буй:
Техник хангамж ба програм хангамж ухаалаг төхөөрөмж, Tuya болон Broadlink LEDbulb, Sonoff, BSD33 ухаалаг залгуурыг хакердах: 7 алхам
Техник хангамж ба програм хангамж Hack Smart Devices, Tuya and Broadlink LEDbulb, Sonoff, BSD33 Smart Plug: Энэхүү зааварчилгаанд би хэд хэдэн ухаалаг төхөөрөмжийг өөрийн хувийн програм хангамжаар хэрхэн яаж анивчсаныг харуулах болно. Шинэ төхөөрөмжүүдийг хакердах үед. Мэдээжийн хэрэг, програм хангамж дээр суурилсан өөр аргууд байдаг
Arduino -ийн техник хангамж, програм хангамж, Arduino хичээлийг эхлүүлэх нь: 11 алхам
Arduino нь техник хангамж, програм хангамж, Arduino хичээлүүдээс эхэлж байна: Өнөө үед үйлдвэрлэгчид, хөгжүүлэгчид төслүүдийн загварчлалыг хурдан хөгжүүлэхийн тулд Arduino-г илүүд үздэг болсон. Arduino нь маш сайн хэрэглэгчийн нийгэмлэгтэй. Arduino самбар
PLC аюулгүй байдлын утасгүй аюулгүй байдлын товчлуур: 6 алхам (зурагтай)
PLC -ийн аюулгүй байдлын утасгүй аюулгүй байдлын товчлуур: Энэхүү төсөл нь аюултай үйлдвэрлэлийн байгууламжийн аюулгүй байдлын нэмэлт давхаргыг бий болгохын тулд IoT болон (эцэст нь) робот техникийг ашиглах талаархи миний ойлголтын нотолгоо юм. Энэ товчлуурыг ашиглан дохиог хянах зэрэг олон процессыг эхлүүлэх эсвэл зогсоох боломжтой
One Touch Эмэгтэйчүүдийн аюулгүй байдлын аюулгүй байдлын систем: 3 алхам
Эмэгтэйчүүдийн аюулгүй байдлын нэг мэдрэгчтэй систем: Нэг мэдрэгчтэй дохиолол 8051 микро хянагч ашигладаг эмэгтэйчүүдийн аюулгүй байдлын систем Өнөөгийн ертөнцөд эмэгтэйчүүдийн аюулгүй байдал нь тухайн улсын хамгийн чухал асуудал болоод байна. Өнөөдөр эмэгтэйчүүдийг дарамталж, зовоодог, заримдаа яаралтай тусламж хэрэгтэй болдог. Шаардлагатай байршил байхгүй байна
Үнэгүй програм хангамж, хямд техник хангамж бүхий панорамик гэрэл зураг: 6 алхам
Чөлөөт програм хангамж, хямд техник хангамж бүхий панорамик гэрэл зураг: Панорамик гэрэл зургийг ердийн камерын линзэнд багтахааргүй том хэмжээтэй эсвэл хүний нүд нэг удаа харахаар хэт том хэмжээтэй үзэгдлүүдийн зургийг гаргахад ашигладаг. Хамгийн алдартай панорама бол геологийн онцлог эсвэл хотын тэнгэрийн гаднах ландшафтын зураг юм