Я создаю программу, которая сохраняет его информацию в виде закодированной информации, используя метод, который я создал.
В основном, когда я запускаю программу, она создает две переменные,
- one это алфавит (прописные, строчные, цифры, ...)
- другой точно такой же, за исключением того, что я использую
random.shuffle()
для его рандомизации.
Это " ключ "к" ключу "Я даю ему случайное число, используя random.randint(1000000000,9999999999)
, и этим номером я называю это имя " ключа ".
Все ключи и их имена хранится в файле.
В программе у вас есть возможность написать что-то вроде имени, это имя будет зашифровано с использованием ключа, который генерируется при запуске программы, а затем сохраняется в файле вместе с именем. с именем ключа.
(обратите внимание, что ключи всегда имеют разные имена, зашифрованные данные могут быть зашифрованы с использованием одного и того же ключа много раз, а затем сохранены в другом файле).
Сначала читаю из файла ключа
{ПРИМЕЧАНИЕ: ключи хранятся с использованием шаблона \ n, пример file.write (f '{key} \ n {key_name} \ n')}
, используя мой метод, длина всегда будет делится на 2, поэтому я использую переменную, инициализированную перед циклом for, и увеличиваю ее вместе с циклом, в то же время я использую эту же переменную для чтения из списка (результат чтения файла ключа) и назначаю имя ключу, например :
{4819572: 'varoabIfokdbKjs3918', 40101846: 'opqihduqv', 8291073: 'hqowirhwip', ...}
Мои ключи имеют длину 354 символа, поэтому это очень маленький пример.
Вот код, описанный выше
sep = os.sep
Ot = platform.system()
file_name = os.path.basename(__file__)
path_to_file = __file__.replace(file_name, '')
with open(f'{path_to_file}database{sep}history.dll', 'r', encoding='utf-8') as file:
keys = file.readlines()
num = 0
archive = {}
for _ in range(int(len(keys)/2)):
key_name = str(keys[num+1]).replace('\n','')
key = str(keys[num]).replace('\n','')
archive[int(key_name)] = key
num =+ 2
num1 = 0
num2 = 0
После этого я использую key_name
чтобы получить ключ, который используется в функции дешифрования вместе с зашифрованным текстом.
Проблема в том, что даже если у меня в словаре 16 ключей, их всего 2. Я действительно не знаю как решить это или почему это добавляется.