آموزش هک کردن رمز تک حروف در رمزنگاری با پایتون
آموزش هک کردن رمز تک حروف در رمزنگاری با پایتون
در این درس از مجموعه آموزش برنامه نویسی سایت سورس باران، به آموزش هک کردن رمز تک حروف در رمزنگاری با پایتون خواهیم پرداخت.
پیشنهاد ویژه : پکیج آموزش صفر تا صد پایتون
رمز تک حروف
رمزنگاری تک حروف برای رمزگذاری کل پیام از یک تعویض ثابت استفاده می کند. یک رمز تک حروف با استفاده از فرهنگ لغت پایتون با اشیا J JSON در اینجا نشان داده شده است –
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
monoalpha_cipher = { 'a': 'm', 'b': 'n', 'c': 'b', 'd': 'v', 'e': 'c', 'f': 'x', 'g': 'z', 'h': 'a', 'i': 's', 'j': 'd', 'k': 'f', 'l': 'g', 'm': 'h', 'n': 'j', 'o': 'k', 'p': 'l', 'q': 'p', 'r': 'o', 's': 'i', 't': 'u', 'u': 'y', 'v': 't', 'w': 'r', 'x': 'e', 'y': 'w', 'z': 'q', ' ': ' ', } |
با کمک این دیکشنری، ما می توانیم حروف را با حروف مرتبط به عنوان مقادیر در شی JSON رمزگذاری کنیم. برنامه زیر یک برنامه تک حروف به عنوان نمایش کلاس ایجاد می کند که شامل تمام توابع رمزگذاری و رمزگشایی است.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
from string import letters, digits from random import shuffle def random_monoalpha_cipher(pool = None): if pool is None: pool = letters + digits original_pool = list(pool) shuffled_pool = list(pool) shuffle(shuffled_pool) return dict(zip(original_pool, shuffled_pool)) def inverse_monoalpha_cipher(monoalpha_cipher): inverse_monoalpha = {} for key, value in monoalpha_cipher.iteritems(): inverse_monoalpha[value] = key return inverse_monoalpha def encrypt_with_monoalpha(message, monoalpha_cipher): encrypted_message = [] for letter in message: encrypted_message.append(monoalpha_cipher.get(letter, letter)) return ''.join(encrypted_message) def decrypt_with_monoalpha(encrypted_message, monoalpha_cipher): return encrypt_with_monoalpha( encrypted_message, inverse_monoalpha_cipher(monoalpha_cipher) ) |
بعداً برای پیاده سازی رمزگذاری و رمزگشایی رمزنگاری Monoalphabetic که بعداً در زیر ذکر شده است ، این پرونده فراخوانی می شود –
1 2 3 4 5 6 7 8 9 |
import monoalphabeticCipher as mc cipher = mc.random_monoalpha_cipher() print(cipher) encrypted = mc.encrypt_with_monoalpha('Hello all you hackers out there!', cipher) decrypted = mc.decrypt_with_monoalpha('sXGGt SGG Nt0 HSrLXFC t0U UHXFX!', cipher) print(encrypted) print(decrypted) |
خروجی
هنگام اجرای کد ارائه شده در بالا می توانید خروجی زیر را مشاهده کنید –
بنابراین، می توانید یک رمز تک حروف با جفت مقدار کلید مشخص شده که متن رمز را به متن ساده می شکند، هک کنید.
لیست جلسات قبل آموزش رمزنگاری با پایتون
- آموزش رمزنگاری با پایتون
- بررسی اجمالی آموزش رمزنگاری با پایتون
- آموزش رمزنگاری دو گانه در رمزنگاری با پایتون
- مرور و نصب پایتون
- آموزش رمز معکوس در رمزنگاری با پایتون
- آموزش رمز سزار در رمزنگاری با پایتون
- آموزش الگوریتم ROT13 در رمزنگاری با پایتون
- آموزش رمزنگاری جابجایی در رمزنگاری با پایتون
- آموزش رمزنگاری با رمزنگاری جابجایی
- آموزش رمزگذاری فایل ها با رمزنگاری در پایتون
- آموزش رمزگشایی فایل ها با رمزنگاری در پایتون
- آموزش رمزگذاری و رمزگشایی Base64 در رمزنگاری با پایتون
- آموزش فرایند XOR در رمزنگاری با پایتون
- آموزش رمز ضربی در رمزنگاری با پایتون
- آموزش رمز مستوی در رمزنگاری با پایتون
دیدگاه شما