Съдържание:

Софтуер за шифроване/декриптиране на защитата на Python: 3 стъпки
Софтуер за шифроване/декриптиране на защитата на Python: 3 стъпки

Видео: Софтуер за шифроване/декриптиране на защитата на Python: 3 стъпки

Видео: Софтуер за шифроване/декриптиране на защитата на Python: 3 стъпки
Видео: MEGA Chia GPU Farming and Plotting Guide for Linux - Gigahorse Start to Finish - 2023 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 ('десктоп/safesetup/')

с изключение на OSError:

print ("Грешка при създаването на папка")

Този код ще създаде папка, наречена safesetup (освен ако вече не съществува).

След това ще зададем паролата и ще генерираме произволно число между 1 и 100 като начин за навигация в фиктивните файлове:

глобална парола парола = argv [1].encode ('utf-8')

n = random.randint (1, 101)

Сега, когато имаме нашата парола и нашия номер на файл, ще създадем 99 фиктивни файла в рамките на безопасна настройка и един истински файл, който ще съдържа нашия хеш на паролата:

за x в обхват (101): if (x! = n):

f = отворен (("desktop/safesetup/"+str (x)), "w+")

f.close ()

иначе:

парола = hashlib.sha256 (парола).hexdigest ()

f = отворен (("desktop/safesetup/"+str (x)), "w+")

f.write (парола)

f.close ()

печат (n)

Истинският файл се нарича каквото и да е цяло число n. Този файл съдържа нашата парола, след като е хеширан с помощта на алгоритъма sha256 (този хеш алгоритъм се използва широко в криптовалутите, най -вече биткойн).

Запомнете какво е 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 +")). read ()

Вторият раздел на файла за шифроване сравнява хешовете, определя истинността на сравнението и използва AESCrypt python библиотеката, за да шифрова или дешифрира избрания от вас файл. Това е доста голяма част от кода, но ще го разбия:

if (password == hash): print ("Парола е приета")

bufferSize = 64 * 1024

operation = str (input ("Извличате ли или шифровате файлове? (r или e)"))

if (операция == 'r'):

file_name = str (input ("Файл за извличане:"))

pyAesCrypt.decryptFile ((file_name + ".aes"), file_name, парола, bufferSize)

os.remove ((име на файл + ".aes"))

elif (операция == 'e'):

file_name = str (input ("Файл за шифроване:"))

pyAesCrypt.encryptFile (file_name, (file_name + ".aes"), парола, bufferSize)

os.remove (file_name)

иначе:

печат ("Грешка: Неправилно въвеждане")

иначе:

печат („Достъпът е отказан“)

Първият оператор if определя дали хешираните пароли съвпадат. Ако го направят, той продължава да пита дали искате да шифровате файлове или да извлечете криптирани файлове. В зависимост от въведеното от вас, той ще шифрова или дешифрира предоставения файл. Когато бъдете подканени да дадете името на файла, не забравяйте да посочите пътя, освен ако файлът е в същата директория като програмата python. Програмата изтрива файла в предишното му състояние, като го замества с криптиран.aes файл или го дешифрира и замества с оригиналния файл.

В бъдеще може да актуализирам това, за да включа разпознаване на лица с помощта на библиотеката Python OpenCV, но засега паролите ще трябва да са достатъчни.

Стъпка 3: Работа с файлове

За да стартирате инсталационния файл, изпълнете следните стъпки:

1. Въведете терминала:

python3 директория/setupname.py парола (замяна на директория, setupname и парола със съответните им стойности)

2. Терминалът ще изведе номера на вашия файл. Запази това.

За да стартирате програмата за шифроване/декриптиране, изпълнете следните стъпки:

1. Въведете терминала:

python3 директория/име на файл.py парола номер на файла (замяна на директория, име на файл, парола и номер на файл със съответните им стойности)

2. След това терминалът ще приеме или отхвърли вашата парола. Ако бъде отхвърлен, опитайте отново и се уверете, че сте въвели правилните стойности. След като бъде предоставен достъп, терминалът ще ви попита дали искате да шифровате файл или да изтеглите файл. За да шифровате файл, въведете e и за да извлечете шифрован файл, въведете r.

3. След това ще бъдете помолени да предоставите името на файла. Не забравяйте да предоставите директорията на файла, както и името, както и разширението на файла. Ако обаче декриптирате файл, не въвеждайте.aes частта от разширението, тъй като кодът отчита това.

4. След това програмата криптира или декриптира предоставения файл и изтрива файла в предишното му състояние (запазвайки шифрования или декриптиран файл).

Вола! Благодаря, че стигнахте толкова далеч до инструкциите, знам, че четенето на уроци по код не е най -забавното нещо. Python файловете са затворени в тази стъпка, за тези от вас, които искат да опитат това. Още веднъж благодаря за четенето и ви пожелавам успех в бъдещите ви начинания за кодиране.

Препоръчано: