zajęcia 7 - szyfrowanie i hashe

zajęcia 7 - szyfrowanie i hashe
Photo by Markus Spiske / Unsplash
ZNAKI = [
"a",
"b",
"c",
"d",
"e",
"f",
"g",
"h",
"i",
"j",
"k",
"l",
"m",
"n",
"o",
"p",
"q",
"r",
"s",
"t",
"u",
"v",
"w",
"x",
"y",
"z",
"A",
"B",
"C",
"D",
"E",
"F",
"G",
"H",
"I",
"J",
"K",
"L",
"M",
"N",
"O",
"P",
"Q",
"R",
"S",
"T",
"U",
"V",
"W",
"X",
"Y",
"Z",
"Ą",
"ą",
"Ć",
"ć",
"Ę",
"ę",
"Ł",
"ł",
"Ń",
"ń",
"Ó",
"ó",
"Ś",
"ś",
"Ź",
"ź",
"Ż",
"ż",
" ",
".",
"?",
"!",
]

tekst = input("Wpisz tekst do zaszyfrowania: ")
klucz = 1
zaszyfrowany_tekst = ""

for litera in tekst:
    obecny_indeks = ZNAKI.index(litera)
    indeks_zaszyfrowany = (obecny_indeks + klucz) % len(ZNAKI)
    zaszyfrowany_tekst += ZNAKI[indeks_zaszyfrowany]

print(zaszyfrowany_tekst)
ksiazka_tele = {}


while True:
    # Zapytanie o wybranie operacji
    operacja = input(
        "Wybierz operację do wykonania:\n\
                  1 - dopisanie pozycji do książki\n\
                  2 - aktualizacja pozycji książki\n\
                  3 - usunięcie pozycji książki\n\
                  4 - wydruk imion z książki\n\
                  5 - wydruk całej książki telefonicznej\n\
                  6 - koniec programu\nPodaj kod operacji = "
    )
    if not operacja:
        break

    # Wykonanie wybranej operacji
    if operacja == "1":
        print("Wybrano 1")
        imie = input("Nazwij nowy wpis: ")
        numer = input("Podaj numer telefonu: ")

        if len(numer.replace(" ", "")) == 9:
            ksiazka_tele[imie] = numer
            print(f"\ndodano nowy rekord {imie}: {numer}")
        else:
            print(f"\nPodany przez Ciebie number: {numer} jest niepoprawwny, nie dodano rekordu")

    elif operacja == "6":
        break

    elif len(ksiazka_tele) == 0:
         print("\nW Twojej książce nie ma jeszcze rekordów")

    elif operacja == "2":
        print("Wybrano 2")
        element_do_edycji = int(input("Wpisz 1 jeśli chcesz edytować nazwę rekordu, albo 2 jeśli chcesz edytować numer telefonu: "))
        imie = input("\nPodaj nazwę rekordu, który chcesz edytować: ")

        if not imie in ksiazka_tele.keys():
            print("\nNie ma takiego rekordu w Twojej książce telefonicznej\n")

        elif element_do_edycji == 1:
            nowe_imie = input("\nWpisz nową nazwę rekordu: ")
            numer = ksiazka_tele.pop(imie)
            ksiazka_tele[nowe_imie] = numer
            print(f"\nEdytowano rekord {nowe_imie}: {ksiazka_tele[nowe_imie]}")

        else:
            nowy_numer = input("Podaj nowy numer: ")
            ksiazka_tele[imie] = nowy_numer
            print(f"\nEdytowano rekord {imie}: {nowy_numer}")

    elif operacja == "3":
        print("Wybrano 3")
        imie = input("\nKtóry rekord chcesz usunąć?: ")
        del ksiazka_tele[imie]
        print(f"\nUsunięto rekord {imie}")

    elif operacja == "4":
        print("Wybrano 4")
        print(f"\nOto Twoje rekordy z książki telefonicznej: \n{", ".join(ksiazka_tele.keys())}")

    elif operacja == "5":
        print("Wybrano 5")

        items = ksiazka_tele.items()

        for el, i in items:
            print(f"\n{el[0]}: {el[1]}")
        print()

    else:
        print("\nPodano błędny kod operacji")


# Koniec programu
print("\nKoniec programu")