-
پنجشنبه, ۱۹ تیر ۱۳۹۹، ۱۰:۱۲ ب.ظ
-
۳۸۹۱
رمزنگاری (قفل کردن) فایل ها در پایتون با روش AES
درود به همه !
سلام دوستان . امروز قرار یه کتابخونه ی خیلی کاربردی داخل پایتون معرفی کنیم . کار این کتابخونه اینه که فایل های ما رو برامون رمزنگاری میکنه و با اینکار میتونیم امنیتشو ببریم بالا . این کتابخونه اسمش pyAesCrypt هست . لازمه بدونید این کتابخونه هم روی ویندوز و هم روی لینوکس کار میده .
خب برای نصب این کتابخونه از طریق pip اقدام میکنیم .
برای نصب کتابخونه روی لینوکس از دستور زیر استفاده میکنیم :
MrPython@debian:~$ pip3 install pyAesCrypt
برای نصب کتابخونه روی ویندوز از دستور زیر استفاده میکنیم :
C:\> pip install pyAesCrypt
پس از نصب میریم سراغ استفاده ازش . دوتا سورس ایجاد میکنیم . یکی برای رمزنگاری کردن فایل و دیگری برای رمزگشایی کردن فایل .
سورس رمزنگاری :
import pyAesCrypt print("<Encrypt>") bufferSize = 64 * 1024 file = input("File Name : ") password = input("Password : ") pyAesCrypt.encryptFile(file,file+".aes",password,bufferSize) print("File Encrypted !")
در ابتدا کتابخانه را ایمپورت کردیم . بعد یه متغییر تعریف کردیم به اسم bufferSize که میزان بافر برای رمزنگاری کردن را مشخص میکنیم . ما گفتیم ۶۴ ضرب در ۱۰۲۴ یعنی ۶۴ کیلوبایت .
بعد اومدیم اسم فایلی که میخوایم رمز نگاری کنیم رو پرسیدیم . بعد پسوورد برای فایل پرسیدیم .
سپس در متود pyAesCrypt.encryptFile اومدیم ابتدا فایلی که میخوایم رمز نگاری کنیم رو بهش دادیم و بعد اسم فایل رمزنگاری شده رو بهش دادیم که میخواد خروجی بده و بعد پسوورد و نهایتا bufferSize
و تمام
اما سورس رمزگشایی :
import pyAesCrypt print("<Decrypt>") bufferSize = 64 * 1024 file = input("File Name : ") password = input("Password : ") try: pyAesCrypt.decryptFile(file,file+"_decrypted",password,bufferSize) print("File Decrypted !") except Exception as error: print(error) exit(1)
خب اینم زیاد فرقی با قبلی نداره . بازم اسم فایل رو اول پرسیدیم (فایلی که میخوایم رمزگشایی کنیم) . بعد پسوورد فایل رو پرسیدیم (باید پسووردی که در سورس قبل یعنی موقع رمزنگاری بهش دادیم رو اینجا بدیم) . حالا اومدیم با عبارت try و متود pyAesCrypt.decryptFile فایل رو رمزگشایی کردیم . همینطور که میبینید در متود pyAesCrypt.decryptFile ابتدا نام فایلی که میخوایم رمزگشایی کنیم رو بهش دادیم . بعد نام فایل رمزگشایی شده یعنی خروجی کار . و سپس پسوورد و نهایتا باز bufferSize .
اگه پسوورد رو اشتبا بزنیم یا به هرحال یه مشکلی پیش بیاد فایل رمزگشایی نمیشه یعنی کد های داخل try اجرا نمیشن و کد های داخل except اجرا میشن . این باعث میشه متن ارور نمایش داده بشه و بعدشم از اسکریپت خارج بشه .
یا حق !