Python3
200 subscribers
100 photos
6 videos
26 files
518 links
🎓 آموزش و پروژه‌های Python
آموزش‌های کاربردی و پروژه‌های عملی Python برای همه سطوح. 🚀
Download Telegram
📦 پروژه رمزنگاری و رمزگشایی با پایتون و PyCryptodome 🐍

در این آموزش، یاد می‌گیریم که چگونه با استفاده از پایتون و کتابخانه PyCryptodome عملیات رمزنگاری و رمزگشایی را انجام دهیم. این پروژه شامل مراحل دریافت ورودی، رمزنگاری و رمزگشایی متن است. 💻🔒

1. نصب کتابخانه مورد نیاز 📦

ابتدا باید کتابخانه PyCryptodome را نصب کنیم. برای این کار از دستور زیر استفاده کنید:

pip install pycryptodome

2. نوشتن کد اصلی 🌐

یک فایل پایتون جدید بسازید و کد زیر را داخل آن قرار دهید. این کد شامل توابع رمزنگاری و رمزگشایی است و از کاربر می‌پرسد که می‌خواهد عملیات رمزنگاری انجام دهد یا رمزگشایی.

from Crypto.Cipher import AES
from Crypto.Random import get_random_bytes
from Crypto.Util.Padding import pad, unpad

# پرسش از کاربر
operation = input("آیا می‌خواهید عملیات رمزنگاری انجام دهید یا رمزگشایی؟ (encrypt/decrypt): ").strip().lower()

# تابع رمزنگاری
def encrypt(plain_text, key):
cipher = AES.new(key, AES.MODE_CBC)
ct_bytes = cipher.encrypt(pad(plain_text.encode(), AES.block_size))
iv = cipher.iv
return iv, ct_bytes

# تابع رمزگشایی
def decrypt(iv, ct_bytes, key):
cipher = AES.new(key, AES.MODE_CBC, iv)
pt = unpad(cipher.decrypt(ct_bytes), AES.block_size)
return pt.decode('utf-8')

# کلید رمزنگاری (باید 16، 24 یا 32 بایت باشد)
key = get_random_bytes(16)

if operation == "encrypt":
# دریافت متن از کاربر
plain_text = input("لطفاً متن اصلی خود را وارد کنید: ")

# رمزنگاری
iv, ct_bytes = encrypt(plain_text, key)
print(f'🔒 متن رمزنگاری شده: {ct_bytes.hex()}')

elif operation == "decrypt":
# دریافت اطلاعات از کاربر
iv = bytes.fromhex(input("لطفاً IV (به صورت hex) را وارد کنید: "))
ct_bytes = bytes.fromhex(input("لطفاً متن رمزنگاری شده (به صورت hex) را وارد کنید: "))

# رمزگشایی
decrypted_text = decrypt(iv, ct_bytes, key)
print(f'🔓 متن رمزگشایی شده: {decrypted_text}')

else:
print("عملیات نامعتبر است. لطفاً 'encrypt' یا 'decrypt' را وارد کنید.")

# پایان آموزش
print("آموزش به پایان رسید. موفق باشید! 🌟")

3. اجرای برنامه 🌍

برنامه را اجرا کنید:

python your_file_name.py

4. کاربردها و توضیحات بیشتر 💡

با استفاده از این پروژه، شما می‌توانید عملیات رمزنگاری و رمزگشایی متون را به راحتی انجام دهید. این کاربردها شامل موارد زیر است:

- امنیت داده‌ها: با استفاده از این روش می‌توانید داده‌های حساس خود را قبل از ذخیره‌سازی یا ارسال به دیگران، رمزنگاری کنید تا از دسترسی غیرمجاز جلوگیری شود.
- انتقال امن پیام‌ها: می‌توانید پیام‌های مهم خود را رمزنگاری کرده و سپس ارسال کنید. گیرنده با داشتن کلید مناسب می‌تواند پیام را رمزگشایی کند.
- ذخیره‌سازی امن: اگر نیاز به ذخیره‌سازی داده‌های حساس دارید، می‌توانید آن‌ها را رمزنگاری کرده و در دیتابیس یا فایل‌های دیگر ذخیره کنید.

با استفاده از این پروژه ساده می‌توانید امنیت داده‌های خود را افزایش دهید و از دسترسی‌های غیرمجاز جلوگیری کنید. موفق باشید! 🌟

🔗این کانال منه

#رمزنگاری #پایتون #PyCryptodome #برنامه‌نویسی #آموزش
👍2