Mundarija:
- Ta'minotlar
- 1 -qadam: O'zgaruvchilarni e'lon qilish va ma'lumotlarni olish
- 2 -qadam: Yangi alifbo yaratish
- 3 -qadam: Xabarni o'zgartirish
- 4 -qadam: qo'shimcha
Video: Pythonda Qaysar shifrlash dasturi: 4 qadam
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:23
Tsezar shifri - qadimiy va keng qo'llaniladigan shifr bo'lib, uni shifrlash va ochish oson. Bu alifbo harflarini almashtirish orqali butunlay yangi alifbo yaratish uchun ishlaydi (ABCDEF 4 ta harfni almashtirib, EFGHIJga aylanadi).
Tsezar shifrlari bu erda eng xavfsiz shifr emas, lekin maxfiy yozuvlarni yuborish yoki parollarni kuchliroq qilish kabi kichik vazifalar uchun juda yaxshi. Kodni hal qilish juda oson, lekin agar sizda maxsus alifbo yodlanmagan bo'lsa, uni shifrlash zerikarli bo'lishi mumkin.
Bu jarayonni osonlashtirish uchun biz kompyuterlarning kuchidan, aniqrog'i Python dasturlash tilidan foydalanishimiz mumkin.
Bu ko'rsatma sizning buyrug'ingiz bo'yicha xabarlarni shifrga aylantiradigan dasturni qanday yaratishni ko'rsatib beradi.
Ta'minotlar
Sizga faqat Python tarjimoni kerak: IDLE, Pycharm va Thonny - yaxshi, bepul variantlar (men Pycharmdan foydalanganman)
Python haqida asosiy bilimlar
1 -qadam: O'zgaruvchilarni e'lon qilish va ma'lumotlarni olish
Alfavit, xabar, siljish va hokazolarning matnli (matnli) qiymatlarini saqlash uchun biz o'zgaruvchilardan foydalanishimiz kerak. Biz "alifbo", "partialOne", "partialTwo" va "newAlphabet" o'zgaruvchilarini e'lon qilishdan boshlaymiz. Men o'z kodimga Camel Case o'zgaruvchilar nomlarini yozdim (birinchi so'z kichik va ikkinchi katta harf), lekin siz uni kodning qolgan qismida o'zgartirishni eslaganingizda xohlagan tarzda yozishingiz mumkin.. Alfavit o'zgaruvchisi "abcdefghijklmnopqrstuvwxyz" qiymatiga ega. Boshqa barcha o'zgaruvchilar "" ga o'rnatiladi, bu bo'sh satr, chunki bizda ularning qiymati hali yo'q.
Bu nima qilayotgani - bu qisman tizimni o'rnatish, biz aynan o'zgarishlarni yaratish uchun foydalanayapmiz. Bu keyingi bosqichda tushuntiriladi.
Shundan so'ng, biz xabarni olishimiz va foydalanuvchidan qiymatni o'zgartirishimiz kerak. Buning uchun biz kirish funktsiyasidan foydalanamiz. Kodning bu qismi foydalanuvchidan xabar va raqamni alifboni o'zgartirishi uchun so'raydi.
KOD:
alifbo = "abcdefghijklmnopqrstuvwxyz"
partialOne = ""
partialTwo = ""
newAlphabet = ""
message = input ("Iltimos, tarjima qilmoqchi bo'lgan xabarni kiriting:").lower ()
key = int (kiritish ("O'zgartirmoqchi bo'lgan raqamni kiriting:")))
2 -qadam: Yangi alifbo yaratish
Endi siljigan alifbo yaratish. Buning uchun biz qisman tizimdan foydalanamiz. Qisman tizim - bu kompyuter alifboni ikki qismga ajratadi (qismlarni aytishning xayoliy usuli). Dastlabki qism, siz dasturga o'tishni aytganingizga qancha vaqt qoldi, ikkinchisi - qolgan qismi. Kompyuter qismlarni almashtiradi. Kod aynan shunday qilmoqda, agar birinchi o'zgarish bilan birga, agar o'zgarish 0 bo'lsa, yangi alifbo va eski alifbo bir xil, chunki siz hech narsani almashtirmaysiz.
Masalan:
Tartib - 123456789
Qisman birinchi - 123; Ikkinchi qism - 456789
Yangi ketma -ketlik - 456789123
KOD:
agar kalit == 0 bo'lsa:
newAlphabet = alifbo
elif tugmasi> 0:
partialOne = alifbo [: kalit]
partialTwo = alifbo [kalit:]
newAlphabet = partialTwo + partialOne
boshqa:
partialOne = alifbo [:(26 + tugma)]
partialTwo = alifbo [(26 + tugma):]
newAlphabet = partialTwo + partialOne
3 -qadam: Xabarni o'zgartirish
Endi bizda alifbo va yangi alifbo bor. Xabarni kodga almashtirishgina qoldi.
Birinchidan, biz yangi o'zgaruvchini o'rnatamiz va uni "shifrlangan" deb ataymiz va "" ga o'rnatamiz. Keyin biz chindan ham murakkab for-loop yozamiz, u xabarning har bir harfini tekshiradi va uni yangi harfga o'tkazadi. U natijani chiqaradi va u erda sizda muvaffaqiyatli o'zgartirilgan kod bor!
KOD:
encrypted = "" "message_index" diapazonida (0, len (xabar)):
agar xabar [message_index] == "" bo'lsa:
shifrlangan+= ""
uchun alpha_index diapazonida (0, len (newAlphabet)):
agar xabar [message_index] == alifbo [alifbo_indeksi]:
shifrlangan+= yangi alifbo [alifbo_indeksi]
chop etish (shifrlangan)
4 -qadam: qo'shimcha
Kod fayli biriktirilgan.
Tavsiya:
Pythonda OpenCV yordamida QR kod skaneri: 7 qadam
Python-da OpenCV-dan foydalangan holda QR-kod skaneri: Hozirgi dunyoda biz QR-kod va shtrix-kodni deyarli hamma joyda ishlatamiz, mahsulotni qadoqlashdan tortib to onlayn to'lovlar va hozir biz menyuni ko'rish uchun restoranda ham QR-kodlarni ko'ramiz. shubhasiz, hozir bu katta fikr. Lekin siz hech qachon voy bo'ldingizmi
Pythonda SHT25 bilan Raspberry Pi yordamida namlik va harorat kuzatuvchisi: 6 qadam
Python -da SHT25 bilan Raspberry Pi -ni ishlatadigan namlik va haroratni kuzatuvchi: Raspberry Pi -ning ixlosmandlari sifatida biz u bilan yana bir qancha ajoyib tajribalar haqida o'yladik. va SHT25, Humidi
Notepad yordamida oddiy xabarlarni shifrlash/parolini ochish: 5 qadam
Notepad yordamida oddiy xabarlarni shifrlash/shifrlashni tuzing: Salom, bu oddiy HTML ilovasi yordamida siz o'z xabaringizni parol bilan shifrlashingiz va shifrini ochishingiz mumkin. Birinchidan, men sizga uni qanday yaratishni, keyin esa undan qanday foydalanishni ko'rsataman. Boshlaylik
Python xavfsizligini shifrlash/shifrini ochish dasturi: 3 qadam
Python xavfsizligini shifrlash/shifrini ochish dasturi: Ushbu ko'rsatmada men sizga oddiy Python yordamida fayllarni sanoat standarti AES yordamida qanday saqlashingiz mumkinligini ko'rsataman. Talablar:- Python 3.7- PyAesCrypt kutubxonasi- hashlib kutubxonasi Agar sizda bu kutubxonalar bo'lmasa, siz tomonidan osongina o'rnatilishi mumkin
USB drayverini shifrlash: 7 qadam
USB drayverini shifrlash: Men sizga TrueCrypt bepul shifrlash vositasi yordamida USB drayverini shifrlash uchun kerak bo'lgan qadamlarni ko'rsataman. Men ko'rsatma sifatida Windows XP tizimini ishlataman, lekin TrueCrypt Linux va OS X da ishlaydi