کدنویس۲۱

کدنویس۲۱

با کد نویس 21 کد نویس باشید.
کدنویس۲۱

کدنویس۲۱

با کد نویس 21 کد نویس باشید.

انکریپت و دیکریپت فایل در پایتون

سلام دوستان در این پست می خواهیم با کمک یک کتابخانه پایتون انکریپت و دیکریپت Aes را روی فایل ها انجام دهیم.

 

 

در این پست برای Encrypt و Decrypt کردن فایل هایمان می خواهیم از کتابخانه pyAesCrypt استفاده کنیم که به طور پیشفرض نصب نیست پس با وارد کردن دستور زیر در محیط خط فرمان(Command Line) خود به نصب آن می پردازیم.

1
pip install pyAesCrypt

بعد از نصب کتابخانه یک فایل درست می کنیم و شروع به نوشتن کد ها داخل آن می کنیم.

ابتدا به دو متد encryptFile و decryptFile از این کتابخانه نیاز داریم پس مانند خط زیر آنها را ایمپورت می کنیم.

1
from pyAesCrypt import encryptFile,decryptFile

خط بالا از کتابخانه pyAesCrypt دو متد encryptFile و decryptFile ایمپورت می کند.

حال بیایید متد encryptFile و decryptFile را بررسی کنیم.

1
encryptFile(FileToEncrypt, PathToSaveEncrypted, Password, BufferSize)

همانطور که می بینید این تابع چهار ورودی می گیرد. ورودی اول مسیر فایلی است که قرار است انکریپت شود و ورودی دوم مسیری است که فایل انکریپت شده قرار است در آن ذخیره شود(فایل اصلی حذف نمی شود). ورودی سوم این تابع رمزی است که قرار است برای انکریپت کردن مورد استفاده قرار بگیرد و ورودی آخر هم اندازه بافر را مشخص می کند.

1
decryptFile(FileToDecrypt, PathToSaveDecrypted, Password, BufferSize)

تابع decryptFile هم ورودی هایی مشابه متد قبل دارد؛ ابتدا مسیر فایل انکریپت شده سپس مسیری برای ذخیره فایل دیکریپت شده و بعد رمز و اندازه بافر را دریافت می کند.

کد زیر نحوه استفاده از این متد ها را مشخص می کند.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
from pyAesCrypt import encryptFile as encrypt,decryptFile as decrypt


while True:
mode = input("You Want To Encypt A File Or Decrypt(E/D): ").lower()
if mode == "e":
path = input("Enter File Path: ") #e.g 1: D:\Directory\File.ext   e.g 2: CodeWriter21.png
pwd  = input("Enter Password : ") #e.g: CodeWriter21
try:
encrypt(path, path+".EnCrypted", pwd, 64*1024)
print("EnCrypted To: " + path+".EnCrypted")
except Exception as e:
print("Error: "+str(e))
elif mode == "d":
path = input("Enter File Path: ") #e.g 1: D:\Directory\File.ext.EnCrypted   e.g 2: CodeWriter21.png.EnCrypted
pwd  = input("Enter Password : ") #e.g: CodeWriter21
try:
decrypt(path, path[:path.lower().find('.encrypted')], pwd, 64*1024)
print("DeCrypted To: " + path[:path.lower().find('.encrypted')])
except Exception as e:
print("Error: "+str(e))

کد بالا ابتدا از کاربر می پرسدد که قصد انکریپت یا دیکریپت دارد و سپس از او مسیر فایل برای انجام عملیات و رمز را دریافت می کند.

امیدوارم از این پست در راه درست استفاده کند و همیشه در امنیت باشید.

تا پستی دیگر خداحافظتان

نظرات 0 + ارسال نظر
برای نمایش آواتار خود در این وبلاگ در سایت Gravatar.com ثبت نام کنید. (راهنما)
ایمیل شما بعد از ثبت نمایش داده نخواهد شد