📦 پروژه رمزنگاری و رمزگشایی با پایتون و PyCryptodome 🐍
در این آموزش، یاد میگیریم که چگونه با استفاده از پایتون و کتابخانه PyCryptodome عملیات رمزنگاری و رمزگشایی را انجام دهیم. این پروژه شامل مراحل دریافت ورودی، رمزنگاری و رمزگشایی متن است. 💻🔒
1. نصب کتابخانه مورد نیاز 📦
ابتدا باید کتابخانه PyCryptodome را نصب کنیم. برای این کار از دستور زیر استفاده کنید:
2. نوشتن کد اصلی 🌐
یک فایل پایتون جدید بسازید و کد زیر را داخل آن قرار دهید. این کد شامل توابع رمزنگاری و رمزگشایی است و از کاربر میپرسد که میخواهد عملیات رمزنگاری انجام دهد یا رمزگشایی.
3. اجرای برنامه 🌍
برنامه را اجرا کنید:
4. کاربردها و توضیحات بیشتر 💡
با استفاده از این پروژه، شما میتوانید عملیات رمزنگاری و رمزگشایی متون را به راحتی انجام دهید. این کاربردها شامل موارد زیر است:
- امنیت دادهها: با استفاده از این روش میتوانید دادههای حساس خود را قبل از ذخیرهسازی یا ارسال به دیگران، رمزنگاری کنید تا از دسترسی غیرمجاز جلوگیری شود.
- انتقال امن پیامها: میتوانید پیامهای مهم خود را رمزنگاری کرده و سپس ارسال کنید. گیرنده با داشتن کلید مناسب میتواند پیام را رمزگشایی کند.
- ذخیرهسازی امن: اگر نیاز به ذخیرهسازی دادههای حساس دارید، میتوانید آنها را رمزنگاری کرده و در دیتابیس یا فایلهای دیگر ذخیره کنید.
با استفاده از این پروژه ساده میتوانید امنیت دادههای خود را افزایش دهید و از دسترسیهای غیرمجاز جلوگیری کنید. موفق باشید! 🌟
🔗این کانال منه
#رمزنگاری #پایتون #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 #برنامهنویسی #آموزش
Telegram
Python3
🎓 آموزش و پروژههای Python
آموزشهای کاربردی و پروژههای عملی Python برای همه سطوح. 🚀
آموزشهای کاربردی و پروژههای عملی Python برای همه سطوح. 🚀
👍2