Почему не получается расшифровать текст? >>> bs = AES.block_size >>> pad = lambda s: s + (bs - len(s) % bs) * chr(bs - len(s) % bs) >>> key = "password1234".encode() # to bytes >>> aes_1 = AES.new(md5(key).digest(), AES.MODE_CFB, bytes([random.randint(0,0xFF) for i in range(16)])) >>> aes_2 = AES.new(md5(key).digest(), AES.MODE_CFB, bytes([random.randint(0,0xFF) for i in range(16)])) >>> d_text = pad("texttexttexttext blablablah") >>> e_text = aes_1.encrypt(d_text) >>> aes_1.decrypt(e_text) b'\n\xce\x85\xeb\x8aK-\xd6\xbe\x9e\xafj;\xf9\x1e. blablablah\x05\x05\x05\x05\x05' >>> aes_2.decrypt(e_text) b'texttexttexttext blablablah\x05\x05\x05\x05\x05' Вопрос: почему aes_1, которым текст был зашифрован, не смог этот текст расшифровать, а aes_2 смог? Все кроме начального вектора у них одинаковое, т.е что-бы расшифровать текст - IV нужно рандомизировать? Почему тогда нигде об этом не написано? Или так плохо читал/гуглил? UPD: погугил еще, почитал о режимах подробнее, понял почему не получается расшировать, попробовал еще раз - теперь и aes_1 и aes_2 выдает мусор вместо текста. ЧЯДНТ?