فهرست مطالب:
تصویری: نرم افزار رمزگذاری/رمزگشایی امنیت پایتون: 3 مرحله
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:55
در این دستورالعمل به شما نشان خواهم داد که چگونه با استفاده از پایتون ساده می توانید فایل های خود را با استفاده از استاندارد AES صنعت ایمن نگه دارید.
الزامات:
- پایتون 3.7
- کتابخانه PyAesCrypt
- کتابخانه hashlib
اگر این کتابخانه ها را ندارید ، می توانید به راحتی با تایپ کردن موارد زیر را نصب کنید:
pip3 hashlib را نصب کنید
pip3 PyAesCrypt را نصب کنید
در ترمینال (یا CMD)
شما قبلاً باید این موارد را داشته باشید:
- کتابخانه تصادفی
- کتابخانه سیستم عامل
- کتابخانه سیستم
من از OS X استفاده می کنم ، اما نباید خیلی مهم باشد ، به جز جهت خطوط برش در مسیرهای فایل (OS X: /، Windows:)
لطفا توجه داشته باشید: به دلیل برخی اشکالات ، تورفتگی های موجود در کد به دلایلی نشان داده نمی شوند. در نتیجه هیچ کدری در کد نمایش داده شده وجود نخواهد داشت ، با این حال آنها در پرونده های پایتون که در انتها ضمیمه کرده ام و در تصاویر ضمیمه شده وجود دارد. فقط کد را مستقیماً از متن نمایش داده شده نگیرید ، زیرا به دلیل عدم وجود تورفتگی کار نمی کند
اگر همه وابستگی ها را نصب کرده اید ، بیایید به مرحله 1 برویم.
مرحله 1: نوشتن فایل راه اندازی
یکی از عواملی که این امر را بسیار امن می کند استفاده از هش برای بررسی رمز عبور است. فایل راه اندازی (من با من تماس می گیرم setupsafe.py) به آدرس زیر می رود:
- یک پوشه و فایل های ساختگی برای رمز عبور ایجاد کنید
- رمز عبور را تنظیم کنید
- شماره فایل را تنظیم کنید
- رمز عبور را هش کنید
در ابتدا ، ما قصد داریم وابستگی های خود را وارد کنیم:
از sys import *
وارد کردن سیستم عامل
واردات تصادفی
وارد کردن hashlib
در مرحله بعد ، ما یک پوشه برای ذخیره هش رمز عبور و فایل های ساختگی ایجاد می کنیم:
try: if not os.path.exists ('desktop/safesetup'):
os.mkdir ('desktop/safesetup/')
به جز OSError:
print ("خطا در ایجاد پوشه")
این کد یک پوشه به نام safesetup ایجاد می کند (مگر اینکه قبلاً وجود داشته باشد).
پس از این ، ما قصد داریم رمز عبور را تنظیم کرده و یک عدد تصادفی بین 1 تا 100 را به عنوان راهی برای حرکت در پرونده های ساختگی ایجاد کنیم:
رمز عبور جهانی = argv [1].encode ('utf-8')
n = random.randint (1 ، 101)
اکنون که گذرواژه و شماره پرونده خود را داریم ، 99 فایل ساختگی در داخل safesetup ایجاد می کنیم و یک فایل واقعی که حاوی هش رمز عبور ما است:
برای x در محدوده (101): اگر (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
در مرحله بعد ، هش رمز عبور وارد شده:
password = argv [1].encode ('utf-8') password = hashlib.sha256 (رمز عبور).hexdigest ()
در نهایت ، بازیابی رمز عبور هش شده:
file_key = str (argv [2]) hash = open (("desktop/safesetup/" + key_key) ، ("r +")). بخوانید ()
بخش دوم فایل رمزگذاری ، هش ها را مقایسه می کند ، صحت مقایسه را تعیین می کند و از کتابخانه پایتون AESCrypt برای رمزگذاری یا رمزگشایی فایل دلخواه شما استفاده می کند. این یک تکه کد نسبتاً بزرگ است ، اما من آن را تجزیه می کنم:
if (رمز عبور == هش): چاپ ("گذرواژه پذیرفته شده است")
bufferSize = 64 * 1024
operation = str (ورودی ("آیا فایلها را بازیابی یا رمزگذاری می کنید؟ (r یا e)"))
if (عملیات == 'r'):
نام فایل = str (ورودی ("فایل برای بازیابی:"))
pyAesCrypt.decryptFile ((نام فایل + ".aes") ، نام فایل ، رمز عبور ، bufferSize)
os.remove ((نام فایل + ".aes"))
elif (عملیات == 'e'):
نام فایل = str (ورودی ("فایل برای رمزگذاری:"))
pyAesCrypt.encryptFile (نام فایل ، (نام فایل + ".aes") ، رمز عبور ، بافر اندازه)
os.remove (نام فایل)
دیگری:
چاپ ("خطا: ورودی نادرست")
دیگری:
چاپ ("دسترسی ممنوع است")
اولین دستور if تعیین می کند که آیا رمزهای عبور هش شده مطابقت دارند یا خیر. اگر این کار را می کنند ، سپس می پرسد آیا می خواهید فایل ها را رمزگذاری کنید یا فایل های رمزگذاری شده را بازیابی کنید. بسته به ورودی شما ، فایل ارائه شده را رمزگذاری یا رمزگشایی می کند. هنگامی که از شما خواسته می شود نام فایل را مشخص کنید ، مطمئن شوید که مسیر را مشخص کنید مگر اینکه فایل در همان دایرکتوری برنامه پایتون باشد. برنامه فایل را در حالت قبلی خود حذف می کند ، آن را با یک فایل.aes رمزگذاری شده جایگزین می کند ، یا آن را رمزگشایی می کند و با فایل اصلی جایگزین می کند.
در آینده ، ممکن است این مورد را برای تشخیص چهره با استفاده از کتابخانه OpenCV پایتون به روز کنم ، اما فعلاً گذرواژه ها کافی خواهند بود.
مرحله 3: عملکرد فایل ها
برای اجرای فایل راه اندازی ، مراحل زیر را دنبال کنید:
1. ترمینال را وارد کنید:
python3 directory/setupname.py گذرواژه (جایگزینی فهرست ، نام راه اندازی و رمز عبور با مقادیر مربوطه)
2. ترمینال شماره فایل شما را خروجی می دهد. این را نگه دار.
برای اجرای برنامه رمزگذاری/رمزگشایی ، مراحل زیر را دنبال کنید:
1. ترمینال را وارد کنید:
python3 directory/filename.py رمز فایل (جایگزینی فهرست ، نام فایل ، رمز عبور و شماره فایل با مقادیر مربوطه)
2. ترمینال پسورد شما را می پذیرد یا رد می کند. در صورت رد ، دوباره امتحان کنید و مطمئن شوید که مقادیر مناسب را وارد کرده اید. پس از دسترسی ، ترمینال از شما می پرسد آیا می خواهید یک فایل را رمزگذاری کنید یا یک فایل را بازیابی کنید. برای رمزگذاری فایل ، e را تایپ کنید و برای بازیابی یک فایل رمزگذاری شده ، r را تایپ کنید.
3. سپس از شما خواسته می شود نام فایل را ارائه دهید. به یاد داشته باشید که فهرست پرونده و همچنین نام و همچنین پسوند فایل را ارائه دهید. با این حال ، اگر در حال رمزگشایی یک فایل هستید ، قسمت.aes افزونه را تایپ نکنید ، زیرا کد آن را نشان می دهد.
4. سپس برنامه فایل ارائه شده را رمزگذاری یا رمزگشایی می کند و فایل را در حالت قبلی خود (با حفظ فایل رمزگذاری شده یا رمزگشایی شده) حذف می کند.
وویلا! با تشکر از این که اینقدر آموزنده بودید ، می دانم که خواندن آموزش های کد سرگرم کننده ترین چیز نیست. فایل های پایتون در این مرحله قرار داده شده است ، برای کسانی از شما که می خواهید این کار را انجام دهید. یکبار دیگر ، از خواندن شما متشکرم ، و برای شما آرزوی موفقیت در برنامه نویسی آینده خود دارم.
توصیه شده:
چگونه می توان اولین نرم افزار ساده خود را با استفاده از پایتون ساخت: 6 مرحله
چگونه می توان اولین نرم افزار ساده خود را با استفاده از پایتون ساخت: سلام ، به این دستورالعمل خوش آمدید. در اینجا من قصد دارم به شما بگویم که چگونه نرم افزار خود را بسازید. بله ، اگر ایده ای دارید … اما می دانید که پیاده سازی کنید یا علاقمند به خلق چیزهای جدید باشید ، این برای شماست
سخت افزار و نرم افزار هک دستگاه های هوشمند ، Tuya و Broadlink LEDbulb ، Sonoff ، BSD33 Smart Plug: 7 مرحله
سخت افزار و نرم افزار هک دستگاه های هوشمند ، Tuya و Broadlink LEDbulb ، Sonoff ، BSD33 Smart Plug: در این دستورالعمل به شما نشان می دهم که چگونه چندین دستگاه هوشمند را با سیستم عامل خودم فلش کرده ام ، بنابراین می توانم آنها را با MQTT از طریق راه اندازی Openhab کنترل کنم. دستگاه های جدید هنگام هک کردن آنها. البته روشهای دیگر نرم افزاری برای فلش کردن سفارشی وجود دارد
نحوه بارگیری نرم افزار رایگان به عنوان دانشجوی ISU (مایکروسافت ، Adobe و نرم افزار امنیتی: 24 مرحله
نحوه بارگیری نرم افزار رایگان به عنوان دانشجوی ISU (مایکروسافت ، Adobe و نرم افزار امنیتی: برای Adobe: به مرحله 1 بروید. برای مایکروسافت: به مرحله 8 بروید. برای امنیت: به مرحله 12 بروید. برای Azure: به مرحله 16 بروید
شروع کار آردوینو با سخت افزار و نرم افزار و آموزش های آردوینو: 11 مرحله
شروع کار آردوینو با سخت افزار و نرم افزار و آموزش های آردوینو: امروزه سازندگان ، توسعه دهندگان برای توسعه سریع نمونه اولیه پروژه ها ، آردوینو را ترجیح می دهند. آردوینو یک پلت فرم الکترونیکی منبع باز است که بر اساس سخت افزار و نرم افزارهای آسان استفاده می شود. آردوینو دارای جامعه کاربری بسیار خوبی است. برد آردوینو d
عکاسی پانوراما با نرم افزار رایگان و سخت افزار ارزان: 6 مرحله
عکاسی پانوراما با نرم افزار رایگان و سخت افزار ارزان: از عکس های پانوراما برای تهیه تصاویری از صحنه هایی استفاده می شود که بسیار بزرگتر از آن هستند که در یک لنز معمولی دوربین قرار بگیرند یا حتی برای چشم انسان بسیار بزرگ است. بیشتر پانوراماهای مشهور عکسهای منظره ای در فضای باز با ویژگیهای زمین شناسی یا آسمان شهر است