Malá hra o velkého Bajta (4) - Vigenérova šifra

Místo pro dotazy a rady ohledně programovacích jazyků (C++, C#, PHP, ASP, Javascript, VBS..) a tvorby webových stránek

Moderátor: Mods_senior

koblížek007
nováček
Příspěvky: 1
Registrován: červen 18
Pohlaví: Nespecifikováno

Re: Malá hra o velkého Bajta (4) - Vigenérova šifra

Příspěvekod koblížek007 » 02 čer 2018 18:05

Zatím se učím a zkouším.

Pouze šifrování:

Kód: Vybrat vše

import unidecode

puvodni_zprava = unidecode.unidecode(input("Zadejte zprávu k šifrování: "))
heslo = unidecode.unidecode(input("Zadejte heslo: "))

abeceda = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
otocena_abeceda = abeceda[::-1]
i = 0

def kontrola():
   global i

   velikost_hesla = len(heslo)

   if i >= velikost_hesla:
      i = 0
   else:
      pass

   if heslo[i] in abeceda:
      pass
   else:
      i = i + 1
      kontrola()

for znak in puvodni_zprava:
   if znak in abeceda:
      pass
   else:
      print(znak)
      continue

   kontrola()

   if(znak == heslo[i]):
      print(otocena_abeceda[0])
   else:
      vzdalenost_prvni = abeceda.find(znak)
      vzdalenost_prvni = vzdalenost_prvni + 1
      vzdalenost_druha = otocena_abeceda.find(heslo[i])

      vzdalenost = vzdalenost_prvni + vzdalenost_druha

      if(vzdalenost > 26):
         vzdalenost = vzdalenost - 26

      print(otocena_abeceda[vzdalenost])

   i = i + 1



Reklama
Uživatelský avatar
faraon
Master Level 8
Master Level 8
Příspěvky: 6443
Registrován: prosinec 10
Pohlaví: Muž

Re: Malá hra o velkého Bajta (4) - Vigenérova šifra

Příspěvekod faraon » 03 čer 2018 07:22

Vítej na PC-Help, pěkný začátek. Jen malou poznámku - reciproká šifra má tu výhodu, že šifrovací funkce je zároveň dešifrovací. Takže s heslem "A" (neboli posun 0) bude:

Kód: Vybrat vše

OT: ABCDEFGHIJKLMNOPQRSTUVWXYZ
ŠT: ZYXWVUTSRQPONMLKJIHGFEDCBA
"Pimonte, Pimonte, co jsi ty za pána, že za tebou padla ta majlandská brána, hop, hop, hop.
Ta majlandská brána a ty čtyři mosty, vystav si, Pi­monte, silnější forposty, hop, hop, hop!"

Píseň dobrého vojáka Švejka


  • Mohlo by vás zajímat
    Odpovědi
    Zobrazení
    Poslední příspěvek
  • Excel - rozdělení JmenoPrijmeni podle velkého písmena
    od Marietta99 » 02 úno 2018 16:05 » v Kancelářské balíky
    10
    762
    od elninoslov
    07 úno 2018 08:20
  • Malá herní bezdrátová myš k macbooku
    od WinDroid » 18 pro 2017 23:36 » v Rady s výběrem hardwaru a sestavením PC
    0
    160
    od WinDroid
    18 pro 2017 23:36
  • Malá pamäť na Honor 4C
    od DJAdam » 05 led 2018 21:43 » v Mobily, tablety a jiná přenosná zařízení
    8
    436
    od DJAdam
    05 led 2018 23:10
  • Zmizelá hra
    od TomášJedno2 » 03 črc 2018 16:10 » v Hry
    2
    310
    od RIKI22
    03 črc 2018 17:43
  • Prohlížečová hrá
    od Fantousek » 13 srp 2018 19:24 » v Hry
    0
    343
    od Fantousek
    13 srp 2018 19:24

Zpět na “Programování a tvorba webu”

Kdo je online

Uživatelé prohlížející si toto fórum: CommonCrawl [Bot] a 0 hostů