Some bytearrays were replaced with bytes.
This commit is contained in:
parent
32b99a298c
commit
262f0f5f2b
7
crypt.py
7
crypt.py
|
@ -27,8 +27,7 @@ def _ige(message, key, iv, operation="decrypt"):
|
|||
key must be 32 byte
|
||||
iv must be 32 byte (it's not internally used in AES 256 ECB, but it's
|
||||
needed for IGE)"""
|
||||
if not isinstance(message, str):
|
||||
message = str(message)
|
||||
message = bytes(message)
|
||||
if len(key) != 32:
|
||||
raise ValueError("key must be 32 bytes long (was " +
|
||||
str(len(key)) + " bytes)")
|
||||
|
@ -46,7 +45,7 @@ def _ige(message, key, iv, operation="decrypt"):
|
|||
ivp = iv[0:blocksize]
|
||||
ivp2 = iv[blocksize:]
|
||||
|
||||
ciphered = bytearray()
|
||||
ciphered = bytes()
|
||||
|
||||
for i in range(0, len(message), blocksize):
|
||||
indata = message[i:i+blocksize]
|
||||
|
@ -64,5 +63,5 @@ def _ige(message, key, iv, operation="decrypt"):
|
|||
ivp2 = indata
|
||||
else:
|
||||
raise ValueError("operation must be either 'decrypt' or 'encrypt'")
|
||||
ciphered.extend(outdata)
|
||||
ciphered += outdata
|
||||
return ciphered
|
|
@ -79,7 +79,8 @@ class Session:
|
|||
struct.pack('<II', self.number, len(message_data)) +
|
||||
message_data)
|
||||
message_key = SHA.new(encrypted_data).digest()[-16:]
|
||||
padding = b"\x00" * (-len(encrypted_data) % 16)
|
||||
padding = os.urandom((-len(encrypted_data)) % 16)
|
||||
print(len(encrypted_data+padding))
|
||||
aes_key, aes_iv = self.aes_calculate(message_key)
|
||||
|
||||
message = (self.auth_key_id + message_key +
|
||||
|
@ -131,7 +132,7 @@ class Session:
|
|||
def method_call(self, method, **kwargs):
|
||||
z = io.BytesIO()
|
||||
TL.serialize_method(z, method, **kwargs)
|
||||
z_val = bytearray(z.getvalue())
|
||||
z_val = z.getvalue()
|
||||
self.send_message(z_val)
|
||||
server_answer = self.recv_message()
|
||||
return TL.deserialize(io.BytesIO(server_answer))
|
||||
|
|
|
@ -22,8 +22,4 @@ port = config.getint('App data', 'port')
|
|||
Session = mtproto.Session(ip, port)
|
||||
Session.create_auth_key()
|
||||
|
||||
i = 0
|
||||
while True:
|
||||
f = Session.method_call('ping', ping_id=i)
|
||||
print(f)
|
||||
i += 1
|
||||
future_salts = Session.method_call('get_future_salts', num=3)
|
Loading…
Reference in New Issue
Block a user