Я ищу способ расшифровки для этого алгоритма шифрования
import base64
characterEncoding = 'utf-8'
def encrypt(str, key):
strBytes = bytearray(str.encode(characterEncoding))
keyBytes = bytearray(key.encode(characterEncoding))
off = -128;
for i in range(len(strBytes)):
off += strBytes[i]
strBytes[i] = (off ^ keyBytes[i % len(keyBytes)]) & 0xFF
return base64.b64encode(strBytes).decode(characterEncoding)
Этот код, который я написал, когда пытался его решить, но я не уверен насчет логики c того, что я сделал
def decrypt(str, key):
strcipher = bytearray(base64.b64decode(str))
keyBytes = bytearray(key.encode(characterEncoding))
for i in range(len(strcipher)):
on = (strcipher[i] ^ keyBytes[i % len(keyBytes)]) & 0xFF
strcipher[i] = on - strcipher[i+1]
return strcipher.decode('utf-8')`