Агуулгын хүснэгт:

Python аюулгүй байдлын шифрлэлт/шифрийг тайлах програм хангамж: 3 алхам
Python аюулгүй байдлын шифрлэлт/шифрийг тайлах програм хангамж: 3 алхам

Видео: Python аюулгүй байдлын шифрлэлт/шифрийг тайлах програм хангамж: 3 алхам

Видео: Python аюулгүй байдлын шифрлэлт/шифрийг тайлах програм хангамж: 3 алхам
Видео: 🚨 FILECOIN Bullish News & Price Prediction & 2 Trading Strategies 2024, Арваннэгдүгээр
Anonim
Python аюулгүй байдлын шифрлэлт/шифрийг тайлах програм хангамж
Python аюулгүй байдлын шифрлэлт/шифрийг тайлах програм хангамж
Python аюулгүй байдлын шифрлэлт/шифрийг тайлах програм хангамж
Python аюулгүй байдлын шифрлэлт/шифрийг тайлах програм хангамж

Энэхүү гарын авлагад би энгийн 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 файлуудыг энэ алхамд хавсаргасан байгаа бөгөөд үүнийг хийхийг хүсч буй хүмүүст зориулагдсан болно. Дахин нэг удаа уншсанд баярлалаа, цаашдын кодлох ажилд тань амжилт хүсье.

Зөвлөмж болгож буй: