رمزنگاری (قفل کردن) فایل ها در پایتون با روش AES :: Mr Python | مستر پایتون

رمزنگاری (قفل کردن) فایل ها در پایتون با روش AES

  • ۳۶۲۵

رمزنگاری (قفل کردن) فایل ها در پایتون با روش 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 اجرا میشن . این باعث میشه متن ارور نمایش داده بشه و بعدشم از اسکریپت خارج بشه .

 

 

یا حق !

  • سلام میشه یه توضیح مختصر درباره buffersize بدید؟

    پاسخ:
    فک میکنم میزان بافر مورد نیاز برای عمل رمزنگاری و رمزگشایی هستش .
  • نگران نباشattrib32کسی باج افزار نمینویسه

    پاسخ:
    -_-
  • سلام وقتی دیکریپت میکنه و میزنه با موفقیت دیکریپت شد فایل اینکریپت شده فایل با این پسونده باید چطوری بازی کنم:

     

    photo_2020-10-15_20-30-05.jpg.aes_decrypted

    پاسخ:
    پسوند آخر فایل رو پاک کنید . یعنی :
    photo_2020-10-15_20-30-05.jpg.aes_decrypted
    رو تبدیل به 
    photo_2020-10-15_20-30-05.jpg
    کنید
    تا تبدیل به فایل تصویری بشه
  • اوه عالی

    این تنها کتابخونه ی AES د ر پایتونه

    ولی cryptography هم بد نی...

    امیدوارم فقط باج افزار ننویسید :|

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی