Агуулгын хүснэгт:
- Хангамж
- Алхам 1: Хувьсагчийг зарлах, оролт авах
- Алхам 2: Шинэ цагаан толгой үүсгэх
- Алхам 3: Мессежийг шилжүүлэх
- Алхам 4: Нэмэлт
Видео: Python дахь Цезарь шифрийн хөтөлбөр: 4 алхам
2024 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2024-01-30 11:00
Цезарь шифр бол эртний бөгөөд өргөн хэрэглэгддэг шифр бөгөөд шифрлэх, тайлахад хялбар байдаг. Энэ нь цагаан толгойн үсгийг сольж цоо шинэ цагаан толгой үүсгэх замаар ажилладаг (ABCDEF нь 4 үсгийг шилжүүлж, EFGHIJ болно).
Цезарийн шифрүүд нь хамгийн найдвартай шифр биш боловч нууц тэмдэглэл дамжуулах эсвэл нууц үгээ арай хүчтэй болгох гэх мэт жижиг ажлуудад сайн байдаг. Кодыг тайлах нь үнэхээр хялбар боловч хэрэв та тусгай үсгийг цээжлээгүй бол шифрлэх нь төвөгтэй байж магадгүй юм.
Энэ үйл явцыг хөнгөвчлөхийн тулд бид компьютерын хүчийг, ялангуяа Python програмчлалын хэлийг ашиглаж болно.
Энэхүү зааварчилгаа нь таны тушаалаар мессежийг шифр болгон хөрвүүлэх програмыг хэрхэн бий болгохыг харуулах болно.
Хангамж
Танд хэрэгтэй бүх зүйл бол Python хэлний орчуулагч юм: IDLE, Pycharm, Thonny бол сайн, үнэгүй сонголтууд юм (би Pycharm ашигласан)
Python -ийн үндсэн мэдлэг
Алхам 1: Хувьсагчийг зарлах, оролт авах
Цагаан толгой, мессеж, шилжилт гэх мэт мөр (текст) утгыг хадгалахын тулд бид хувьсагчийг ашиглах хэрэгтэй. Бид хувьсагчдыг 'цагаан толгой', 'partialOne', 'partialTwo', 'newAlphabet' гэж зарлаж эхэлдэг. Би Camel Case дахь хувьсагчдын нэрийг код дээрээ бичсэн (эхний үг нь жижиг, хоёр дахь том үсэг), гэхдээ та үүнийг кодын үлдсэн хэсэгт өөрчлөхөө мартсан л бол хүссэнээрээ бичиж болно.. Цагаан толгойн хувьсагч нь "abcdefghijklmnopqrstuvwxyz" гэсэн утгатай байна. Бусад бүх хувьсагчдыг "" гэж тохируулсан бөгөөд энэ нь бидэнд утга байхгүй байгаа тул хоосон мөр юм.
Энэ юу хийж байна вэ гэхээр бид энэ өөрчлөлтийг бий болгохын тулд ашиглаж байгаа хэсэгчилсэн системийг бий болгож байна. Үүнийг дараагийн алхамд тайлбарлах болно.
Үүний дараа бид хэрэглэгчээс мессеж авч, утгыг нь шилжүүлэх ёстой. Үүнийг хийхийн тулд бид оролтын функцийг ашигладаг. Кодын энэ хэсэгт хэрэглэгчид цагаан толгойн үсгийг шилжүүлэхийн тулд зурвас болон дугаар оруулахыг хүсдэг.
КОД:
цагаан толгой = "abcdefghijklmnopqrstuvwxyz"
partialOne = ""
partialTwo = ""
newAlphabet = ""
message = input ("Орчуулахыг хүссэн зурвасаа оруулна уу:").lower ()
key = int (оролт ("Өөрчлөхийг хүссэн дугаараа оруулна уу:"))
Алхам 2: Шинэ цагаан толгой үүсгэх
Одоо шилжсэн цагаан толгой үүсгэх. Үүнийг хийхийн тулд бид хэсэгчилсэн системийг ашиглах болно. Хэсэгчилсэн систем бол компьютер цагаан толгойг хоёр хэсэгт хуваадаг газар юм. Эхний хэсэг нь хөтөлбөрт шилжихийг хэлсэн хэдий ч хоёр дахь хэсэг нь үлдсэн хэсэг юм. Компьютер хэсэг хэсгүүдийг солино. Код нь яг үүнийг хийж байгаа бөгөөд хэрэв эхний ээлжинд хэрэв ээлжийн дугаар 0 бол шинэ үсэг болон хуучин цагаан толгой ижил байна, учир нь та юу ч солихгүй байна.
Жишээлбэл:
Дараалал - 123456789
Хэсэгчилсэн нэг - 123; Хоёр дахь хэсэг - 456789
Шинэ дараалал - 456789123
КОД:
хэрэв түлхүүр == 0:
newAlphabet = цагаан толгой
elif түлхүүр> 0:
partialOne = цагаан толгой [: түлхүүр]
partialTwo = цагаан толгой [түлхүүр:]
newAlphabet = partialTwo + partialOne
өөр:
partialOne = цагаан толгой [:(26 + түлхүүр)]
partialTwo = цагаан толгой [(26 + түлхүүр):]
newAlphabet = partialTwo + partialOne
Алхам 3: Мессежийг шилжүүлэх
Одоо бид цагаан толгой, шинэ цагаан толгойтой боллоо. Зурвасыг код руу шилжүүлэх л үлдэж байна.
Нэгдүгээрт, бид шинэ хувьсагч тавьж, үүнийг "шифрлэгдсэн" гэж нэрлээд "" болгож тохируулна уу. Дараа нь бид зурвас дахь үсэг бүрийг шалгаж, шинэ үсэг рүү шилжүүлдэг үнэхээр төвөгтэй for-loop бичдэг. Энэ нь үр дүнг гаргадаг бөгөөд танд амжилттай хөрвүүлсэн код байна.
КОД:
encrypted = "" for message_index for range (0, len (message)):
хэрэв мессеж [message_index] == "":
шифрлэгдсэн+= ""
хувьд alph_index -ийн мужид (0, len (newAlphabet)):
хэрэв мессеж [message_index] == цагаан толгой [цагаан толгой_ индекс]:
шифрлэгдсэн+= шинэ цагаан толгой [цагаан толгойн индекс]
хэвлэх (шифрлэгдсэн)
Алхам 4: Нэмэлт
Кодын файлыг хавсаргав.
Зөвлөмж болгож буй:
Python хөтөлбөр - Сар бүрийн хувь нэмэр/хадгаламжийн хүүг нэгтгэх: 5 алхам
Python Хөтөлбөр - Сар бүр оруулсан хувь нэмэр/Хадгаламжтай нийлмэл хүү: Сар бүрийн эцэст хувь нэмэр оруулах нийлмэл хүүг тооцоолох програм. TheCalculatorSite.com -оос авсан томъёо: Үндсэн зээлийн нийлмэл хүү: P (1+r/n)^(nt) Цувралын ирээдүйн утга: PMT × ((((1 + r/n)^nt - 1)/(r/n))
MicroPython хөтөлбөр: Ариун цэврийн өрөө эзэлдэг үү ?: 8 алхам (зурагтай)
MicroPython Хөтөлбөр: Ариун цэврийн өрөө эзэлдэг үү ?: Манай оффис бол угаалгын өрөө багатай том бүлэг оффис юм. &Quot; Би " Би угаалгын өрөөнд орох зайгүй байдаг тул удаан хугацаагаар хүлээх хэрэгтэй болдог
Arduino: Андройд апп -аас цагийн хөтөлбөр ба алсын удирдлага: 7 алхам (зурагтай)
Arduino: Цагийн хөтөлбөр ба Android програмаас алсын удирдлага: Хүмүүс гайхалтай төслүүдээ дуусгасны дараа тэдэнд хэрэггүй бүх Arduino хавтангуудад юу тохиолдохыг би үргэлж боддог байсан. Үнэн бол жаахан сэтгэл дундуур байна: юу ч биш. Үүнийг би аавынхаа хувийн байшин барих гэж оролдсон гэр бүлийнхээ гэрт ажигласан
COVID-19-д зориулсан 20 дахь хоёр дахь гар угаах таймер: 6 алхам (зурагтай)
COVID-19-д зориулсан хоёр дахь гар угаах таймер: Дэлхий даяар COVID-19 тархах тусам бид нүүрээ бага багаар цуглуулж, гараа илүү олон удаа угааж өөрийгөө хамгаалах ёстой. гараа зөв угааж болохгүй. Гараа хэрхэн зөв угаах вэ? W
FTC -ийн Эль -Контексион дахь Хөтөлбөр: 4 алхам
FTC -ийн програм хангамжийн програмууд: Энэ нь роботын хувьд маш чухал програм хангамж юм. Телевизийн OP-ийн төлөөлөгчид автоматаар зохион байгуулдаг програмууд нь автоматаар хийгддэг програмууд юм