ANALYSE-8/src/services/encryption.py
2022-10-09 23:17:56 +02:00

27 lines
741 B
Python

class Encryption:
ENCRYTPION_KEY = "MASTER_KEY"
@staticmethod
def vigenere(text: str, key: str, encrypt=True):
result = ''
for i in range(len(text)):
letter_n = ord(text[i])
key_n = ord(key[i % len(key)])
if encrypt:
value = (letter_n + key_n) % 1114112
else:
value = (letter_n - key_n) % 1114112
result += chr(value)
return result
@staticmethod
def encrypt(text: str):
return Encryption.vigenere(text=text, key=Encryption.ENCRYTPION_KEY, encrypt=True)
@staticmethod
def decrypt(text: str):
return Encryption.vigenere(text=text, key=Encryption.ENCRYTPION_KEY, encrypt=False)