Я пытался сгенерировать все перестановки 128 битов и сохранить их в какой-то структуре.Я нашел некоторую полезную информацию об этом в других вопросах переполнения стека, используя:
keys = map(''.join,itertools.product('01',repeat=n))
Проблема в том, что это решение полезно только для достаточно небольших значений n
, так как оно хранит значения в списке в виде строки, следовательно, каждый бит в последовательности будет байтом, что означает, что каждая перестановка будет иметь длину 128 байт
При таком высоком значении, как n=128
, сохранение всех перестановок в виде строк невозможно.(Мой компьютер не хватает памяти при выполнении itertools.product()
с n=128
).Принимая во внимание, что хранение перестановок в виде необработанных байтов означало бы наличие 16 байтов для каждой перестановки.
Мой вопрос заключается в том, как заархивировать те же результаты, что и intertools.product
, но иметь дело с байтами.