/
rnekrasov
/
Python
Обзор
Документация
Войти
/
rnekrasov
/
Python
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
vigenere_cipher.py
39 строк
1 KB
Nitkarsh Chourasia
add: vigenere cipher
12 янв 2024, 21:45
Не верифицирован
12 янв 2024, 21:45
bae3af2
Код
Авторство
О чём код?
text = "mrttaqrhknsw ih puggrur" custom_key = "happycoding" def vigenere(message, key, direction=1): key_index = 0 alphabet = "abcdefghijklmnopqrstuvwxyz" final_message = "" for char in message.lower(): # Append any non-letter character to the message if not char.isalpha(): final_message += char else: # Find the right key character to encode/decode key_char = key[key_index % len(key)] key_index += 1 # Define the offset and the encrypted/decrypted letter offset = alphabet.index(key_char) index = alphabet.find(char) new_index = (index + offset * direction) % len(alphabet) final_message += alphabet[new_index] return final_message def encrypt(message, key): return vigenere(message, key) def decrypt(message, key): return vigenere(message, key, -1) print(f"\nEncrypted text: {text}") print(f"Key: {custom_key}") decryption = decrypt(text, custom_key) print(f"\nDecrypted text: {decryption}\n")