π ΠΠ°ΠΊ ΡΠΈΡΡΠΎΠ²Π°ΡΡ ΡΠ΅ΠΊΡΡ Π² ΠΠΈΡΠΎΠ½Π΅: ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΠ΅ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ ΠΈ ΠΏΡΠΈΠΌΠ΅ΡΡ π
ΠΠ°ΠΊ ΡΠΈΡΡΠΎΠ²Π°ΡΡ ΡΠ΅ΠΊΡΡ Π² ΠΏΠΈΡΠΎΠ½Π΅
Π Python Π΅ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ΅ΠΊΡΡΠ°. ΠΠ΄ΠΈΠ½ ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΡΠΎΡΡΡΡ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² - ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΌΠΎΠ΄ΡΠ»Ρ cryptography. ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ:
from cryptography.fernet import Fernet
# ΠΠ΅Π½Π΅ΡΠΈΡΡΠ΅ΠΌ ΠΊΠ»ΡΡ
key = Fernet.generate_key()
# Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ ΠΎΠ±ΡΠ΅ΠΊΡ Fernet
cipher = Fernet(key)
# Π¨ΠΈΡΡΡΠ΅ΠΌ ΡΠ΅ΠΊΡΡ
text = "ΠΡΠΈΠ²Π΅Ρ, ΠΌΠΈΡ!"
cipher_text = cipher.encrypt(text.encode('utf-8'))
# ΠΠ΅ΡΠΈΡΡΡΠ΅ΠΌ ΡΠ΅ΠΊΡΡ
decoded_text = cipher.decrypt(cipher_text).decode('utf-8')
print("Π¨ΠΈΡΡΠΎΠ²Π°Π½Π½ΡΠΉ ΡΠ΅ΠΊΡΡ:", cipher_text)
print("ΠΠ΅ΡΠΈΡΡΠΎΠ²Π°Π½Π½ΡΠΉ ΡΠ΅ΠΊΡΡ:", decoded_text)
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΠΌΠΎΠ΄ΡΠ»Ρ cryptography Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠΈΠΌΠΌΠ΅ΡΡΠΈΡΠ½ΠΎΠ³ΠΎ ΠΊΠ»ΡΡΠ° ΠΈ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ΅ΠΊΡΡΠ°. ΠΠ½ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅Ρ ΡΠ΅ΠΊΡΡ Π² Π±Π°ΠΉΡΠΎΠ²ΡΡ ΡΡΡΠΎΠΊΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ encode('utf-8') ΠΈ ΡΠΈΡΡΡΠ΅Ρ Π΅Π³ΠΎ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠΎΠ·Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠ»ΡΡΠ°. ΠΠ°ΡΠ΅ΠΌ ΠΌΡ Π΄Π΅ΡΠΈΡΡΡΠ΅ΠΌ Π·Π°ΡΠΈΡΡΠΎΠ²Π°Π½Π½ΡΠΉ ΡΠ΅ΠΊΡΡ ΠΈ Π΄Π΅ΠΊΠΎΠ΄ΠΈΡΡΠ΅ΠΌ Π΅Π³ΠΎ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ Π² ΡΡΡΠΎΠΊΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ decode('utf-8').
Π‘ΡΡΠ΅ΡΡΠ²ΡΡΡ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΠ΅ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ cipher, Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΎΠ΄ΡΠ»Ρ cryptography - ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΡΠΎΡΡΡΡ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² Π΄Π»Ρ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ΅ΠΊΡΡΠ° Π² Python.
ΠΠ΅ΡΠ°Π»ΡΠ½ΡΠΉ ΠΎΡΠ²Π΅Ρ
ΠΠ°ΠΊ ΡΠΈΡΡΠΎΠ²Π°ΡΡ ΡΠ΅ΠΊΡΡ Π² ΠΏΠΈΡΠΎΠ½Π΅?
Π¨ΠΈΡΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ΅ΠΊΡΡΠ° - Π²Π°ΠΆΠ½Π°Ρ ΡΠ΅ΠΌΠ° Π² ΠΎΠ±Π»Π°ΡΡΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ. ΠΠΎΠ³Π΄Π° ΠΌΡ Ρ ΠΎΡΠΈΠΌ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΠΈΠ»ΠΈ Ρ ΡΠ°Π½ΠΈΡΡ ΠΊΠΎΠ½ΡΠΈΠ΄Π΅Π½ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅, Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π·Π°ΡΠΈΡΠΈΡΡ ΠΈΡ ΠΎΡ Π½Π΅ΡΠ°Π½ΠΊΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Π΄ΠΎΡΡΡΠΏΠ° ΠΏΡΡΠ΅ΠΌ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ. Π¨ΠΈΡΡΠΎΠ²Π°Π½ΠΈΠ΅ - ΡΡΠΎ ΠΏΡΠΎΡΠ΅ΡΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π² Π½Π΅ΠΏΠΎΠ½ΡΡΠ½ΡΠΉ Π΄Π»Ρ ΠΏΠΎΡΡΠΎΡΠΎΠ½Π½ΠΈΡ ΡΠΎΡΠΌΠ°Ρ. Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ, ΠΊΠ°ΠΊ ΡΠΈΡΡΠΎΠ²Π°ΡΡ ΡΠ΅ΠΊΡΡ Π² ΠΏΠΈΡΠΎΠ½Π΅ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ².
1. Π¨ΠΈΡΡΠΎΠ²Π°Π½ΠΈΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Caesar Cipher
ΠΠΎΠ΄ Π¦Π΅Π·Π°ΡΡ - ΡΡΠΎ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΡΠ°ΠΌΡΡ ΠΏΡΠΎΡΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ. Π ΡΡΠΎΠΌ ΠΌΠ΅ΡΠΎΠ΄Π΅ ΠΊΠ°ΠΆΠ΄Π°Ρ Π±ΡΠΊΠ²Π° ΡΠ΅ΠΊΡΡΠ° Π·Π°ΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π΄ΡΡΠ³ΠΎΠΉ Π±ΡΠΊΠ²ΠΎΠΉ ΠΈΠ· Π°Π»ΡΠ°Π²ΠΈΡΠ° Ρ ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌ ΡΠ΄Π²ΠΈΠ³ΠΎΠΌ. ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ Π½Π° ΠΏΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠ΄Π°:
def caesar_cipher(text, shift):
encrypted_text = ""
for char in text:
if char.isalpha():
ascii_code = ord(char)
if char.islower():
encrypted_text += chr((ascii_code - 97 + shift) % 26 + 97)
else:
encrypted_text += chr((ascii_code - 65 + shift) % 26 + 65)
else:
encrypted_text += char
return encrypted_text
text = "ΠΡΠΈΠ²Π΅Ρ, ΠΌΠΈΡ!"
shift = 3
encrypted_text = caesar_cipher(text, shift)
print("ΠΠ°ΡΠΈΡΡΠΎΠ²Π°Π½Π½ΡΠΉ ΡΠ΅ΠΊΡΡ:", encrypted_text)
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡ caesar_cipher
, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΡΠ΅ΠΊΡΡ ΠΈ ΡΠ΄Π²ΠΈΠ³. ΠΠ°ΡΠ΅ΠΌ ΠΌΡ ΠΏΡΠΎΡ
ΠΎΠ΄ΠΈΠΌΡΡ ΠΏΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡ ΡΠΈΠΌΠ²ΠΎΠ»Ρ Π² ΡΠ΅ΠΊΡΡΠ΅ ΠΈ, Π΅ΡΠ»ΠΈ ΡΠΈΠΌΠ²ΠΎΠ» ΡΠ²Π»ΡΠ΅ΡΡΡ Π±ΡΠΊΠ²ΠΎΠΉ, ΡΠΈΡΡΡΠ΅ΠΌ Π΅Π³ΠΎ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ. Π€ΡΠ½ΠΊΡΠΈΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π·Π°ΡΠΈΡΡΠΎΠ²Π°Π½Π½ΡΠΉ ΡΠ΅ΠΊΡΡ.
2. Π¨ΠΈΡΡΠΎΠ²Π°Π½ΠΈΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΈΡΡΠ° Π¦Π΅Π·Π°ΡΡ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΊΠ»ΡΡΠ°
ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΈΡΡ Π¦Π΅Π·Π°ΡΡ, Π½ΠΎ Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌ ΡΠ΄Π²ΠΈΠ³ΠΎΠΌ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²Π²Π΅ΡΡΠΈ ΠΊΠ»ΡΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΡΠ΄Π²ΠΈΠ³. Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΡΠΈΠΌΠ΅Ρ:
def caesar_cipher_key(text, key):
encrypted_text = ""
for char in text:
if char.isalpha():
ascii_code = ord(char)
if char.islower():
encrypted_text += chr((ascii_code - 97 + key) % 26 + 97)
else:
encrypted_text += chr((ascii_code - 65 + key) % 26 + 65)
else:
encrypted_text += char
return encrypted_text
text = "ΠΡΠΈΠ²Π΅Ρ, ΠΌΠΈΡ!"
key = 7
encrypted_text = caesar_cipher_key(text, key)
print("ΠΠ°ΡΠΈΡΡΠΎΠ²Π°Π½Π½ΡΠΉ ΡΠ΅ΠΊΡΡ:", encrypted_text)
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡ caesar_cipher_key
, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΡΠ΅ΠΊΡΡ ΠΈ ΠΊΠ»ΡΡ. ΠΠ°ΡΠ΅ΠΌ ΠΌΡ ΠΏΡΠΎΡ
ΠΎΠ΄ΠΈΠΌΡΡ ΠΏΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡ ΡΠΈΠΌΠ²ΠΎΠ»Ρ Π² ΡΠ΅ΠΊΡΡΠ΅ ΠΈ ΡΠΈΡΡΡΠ΅ΠΌ Π΅Π³ΠΎ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΊΠ»ΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠ΄Π²ΠΈΠ³Π°. Π€ΡΠ½ΠΊΡΠΈΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π·Π°ΡΠΈΡΡΠΎΠ²Π°Π½Π½ΡΠΉ ΡΠ΅ΠΊΡΡ.
3. Π¨ΠΈΡΡΠΎΠ²Π°Π½ΠΈΠ΅ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ cryptography
ΠΡΠ»ΠΈ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π±ΠΎΠ»Π΅Π΅ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠ΅ ΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ΅ΠΊΡΡΠ° Π² ΠΏΠΈΡΠΎΠ½Π΅, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΎΠΉ cryptography. ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ Π½Π° ΠΏΡΠΈΠΌΠ΅Ρ:
from cryptography.fernet import Fernet
def encrypt_text(text, key):
cipher_suite = Fernet(key)
encrypted_text = cipher_suite.encrypt(text.encode())
return encrypted_text
key = Fernet.generate_key()
text = "ΠΡΠΈΠ²Π΅Ρ, ΠΌΠΈΡ!"
encrypted_text = encrypt_text(text, key)
print("ΠΠ°ΡΠΈΡΡΠΎΠ²Π°Π½Π½ΡΠΉ ΡΠ΅ΠΊΡΡ:", encrypted_text.decode())
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΠΈΠΌΠΏΠΎΡΡΠΈΡΡΠ΅ΠΌ ΠΊΠ»Π°ΡΡ Fernet
ΠΈΠ· Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ cryptography ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡ encrypt_text
, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΡΠ΅ΠΊΡΡ ΠΈ ΠΊΠ»ΡΡ. ΠΡ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅ΠΌ ΠΎΠ±ΡΠ΅ΠΊΡ cipher_suite
Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΊΠ»ΡΡΠ° ΠΈ Π·Π°ΡΠ΅ΠΌ ΡΠΈΡΡΡΠ΅ΠΌ ΡΠ΅ΠΊΡΡ, ΠΊΠΎΠ΄ΠΈΡΡΡ Π΅Π³ΠΎ Π² Π±Π°ΠΉΡΠΎΠ²ΡΠΉ ΡΠΎΡΠΌΠ°Ρ. Π€ΡΠ½ΠΊΡΠΈΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π·Π°ΡΠΈΡΡΠΎΠ²Π°Π½Π½ΡΠΉ ΡΠ΅ΠΊΡΡ.
ΠΡΠΎ ΡΠΎΠ»ΡΠΊΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΈΠ· ΠΌΠ½ΠΎΠ³ΠΈΡ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ΅ΠΊΡΡΠ° Π² ΠΏΠΈΡΠΎΠ½Π΅. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΠ±ΡΠ°ΡΡ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠΈΠΉ ΠΌΠ΅ΡΠΎΠ΄ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ Π²Π°ΡΠΈΡ ΠΏΠΎΡΡΠ΅Π±Π½ΠΎΡΡΠ΅ΠΉ Π² Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ ΠΈ ΡΡΠΎΠ²Π½Ρ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ, ΠΊΠΎΡΠΎΡΡΠΉ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ. ΠΠΎΠΌΠ½ΠΈΡΠ΅, ΡΡΠΎ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΠ΅ - ΡΡΠΎ Π²Π°ΠΆΠ½ΡΠΉ Π°ΡΠΏΠ΅ΠΊΡ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ Π·Π°ΡΠΈΡΡ ΠΊΠΎΠ½ΡΠΈΠ΄Π΅Π½ΡΠΈΠ°Π»ΡΠ½ΡΡ Π΄Π°Π½Π½ΡΡ .