Some bytearrays were replaced with bytes.

This commit is contained in:
Anton Grigoryev 2015-03-17 20:26:22 +03:00
parent 32b99a298c
commit 262f0f5f2b
3 changed files with 7 additions and 11 deletions

View File

@ -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

View File

@ -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))

View File

@ -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)