Съдържание:
- Стъпка 1: Записване на инсталационния файл
- Стъпка 2: Файлът за шифроване/декриптиране
- Стъпка 3: Работа с файлове
Видео: Софтуер за шифроване/декриптиране на защитата на Python: 3 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:52
В тази инструкция ще ви покажа как с някакъв прост 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 файловете са затворени в тази стъпка, за тези от вас, които искат да опитат това. Още веднъж благодаря за четенето и ви пожелавам успех в бъдещите ви начинания за кодиране.
Препоръчано:
Шифроване на имейла ви в Gmail!: 6 стъпки (със снимки)
Шифроване на имейла ви в Gmail !: Ако искате да сте сигурни, че вашият имейл не може да бъде прочетен от никой освен вас, тогава той трябва да бъде шифрован. Ще се изненадате да разберете кой може да иска да прочете имейла ви. Бях. Една от най -добрите системи за криптиране се нарича GPG криптиране, което е отворено
Как да изтеглите безплатен софтуер като студент на ISU (Microsoft, Adobe и софтуер за сигурност: 24 стъпки
Как да изтеглите безплатен софтуер като студент по ISU (Microsoft, Adobe и софтуер за сигурност: За Adobe: преминете към стъпка 1. За Microsoft: отидете на стъпка 8. За сигурност: отидете на стъпка 12. За Azure: отидете на стъпка 16
Промяна на цвета на осветлението и демонстрация на защитата на Bluetooth: 7 стъпки (със снимки)
Промяна на светлините на цветовете и демонстрация на защитата на Bluetooth: В тази инструкция ще обясня как да създам дисплей за промяна на цвета на светлината, който се управлява дистанционно чрез Bluetooth с помощта на Android (Samsung, Google и т.н.) или смартфон или таблет на Apple. Това е евтин проект, чудесен за младежи
Премахнете защитата на MS Word Doument .: 5 стъпки
Премахнете защитата на MS Word Doument .: Това е как да възстановите достъпа до документ на Word, който е защитен, за да забраните редактирането. В MS word, ако отидете в менюто с инструменти, след това изберете „защити документ“, можете да зададете парола, за да защитите документа от редактиране. Полезно е
Шифроване на USB устройство: 7 стъпки
Шифроване на USB устройство: Ще ви преведа през стъпките, необходими за криптиране на USB устройство с помощта на безплатния инструмент за криптиране TrueCrypt. В тази инструкция ще използвам Windows XP система като пример, но TrueCrypt ще работи и на Linux и OS X