#python #encryption
#python #шифрование
Вопрос:
Я создаю приложение для криптографии, и мне нужно преобразовать данные, которые пользователь передает программе. Идея заключается в том, что пользователь пишет то, что мы хотели бы зашифровать, а затем этот текст преобразуется в числа. Затем я должен разделить эту последовательность чисел на последовательность из 4 чисел, но затем я нахожу проблему. Поскольку в алфавите от a до j перед числом стоит 0, например, a = 00, b = 01; c = 02… но когда у меня есть, например, этот блок, готовый для прохождения последовательности алгоритмов шифрования bc = ‘0102’, когда я использую в python de «.join(bc), результат равен 102, и мне нужна группа из 4, которая будет правильно зашифрована.
Может быть, вы думаете, почему я использую этот метод, и это потому, что я должен использовать список, прежде чем обрабатывать данные de как строку, но, наконец, они мне нужны как интегратор.
Вот код, который я использую для подготовки информации к шифрованию. Если вы ничего не понимаете, это испанский.
mensaje=input("Introduce el mensaje que quieres encriptar: ")
mensaje_numeros =[]
for i in mensaje:
if i == 'a':
mensaje_numeros.append('00')
elif i == 'b':
mensaje_numeros.append('01')
elif i == 'c':
mensaje_numeros.append('02')
elif i == 'd':
mensaje_numeros.append('03')
elif i == 'e':
mensaje_numeros.append('04')
elif i == 'f':
mensaje_numeros.append('05')
elif i == 'g':
mensaje_numeros.append('06')
elif i == 'h':
mensaje_numeros.append('07')
elif i == 'i':
mensaje_numeros.append('08')
elif i == 'j':
mensaje_numeros.append('09')
elif i == 'k':
mensaje_numeros.append('10')
elif i == 'l':
mensaje_numeros.append('11')
elif i == 'm':
mensaje_numeros.append('12')
elif i == 'n':
mensaje_numeros.append('13')
elif i == 'o':
mensaje_numeros.append('14')
elif i == 'p':
mensaje_numeros.append('15')
elif i == 'q':
mensaje_numeros.append('16')
elif i == 'r':
mensaje_numeros.append('17')
elif i == 's':
mensaje_numeros.append('18')
elif i == 't':
mensaje_numeros.append('19')
elif i == 'u':
mensaje_numeros.append('20')
elif i == 'v':
mensaje_numeros.append('21')
elif i == 'w':
mensaje_numeros.append('22')
elif i == 'x':
mensaje_numeros.append('23')
elif i == 'y':
mensaje_numeros.append('24')
elif i == 'z':
mensaje_numeros.append('25')
elif i == '_':
mensaje_numeros.append('26')
bloque_encriptacion = []
contador = 0
while len(mensaje_numeros) != 0:
while (contador <=3) and (len(mensaje_numeros) != 0):
bloque_encriptacion.append(mensaje_numeros[0])
contador = len(mensaje_numeros[0])
mensaje_numeros.pop(0)
contador = 0
bloque_encriptacion = int(''.join(bloque_encriptacion))
"""Here goes the encrypt althgorithym"""
bloque_encriptacion = []
Комментарии:
1. Почему это проблема? Не преобразуйте строку в целое число, и все должно быть в порядке.
2. Нет, потому что алгоритму шифрования требуется целое число, а не строка
3. И в чем там проблема? Это то, что вы делаете. Вы спрашиваете, потому что ожидаете проблемы при расшифровке?
4. Я спрашиваю, потому что мне нужно целое число для работы с ними, и мне нужно, чтобы у целого числа было 4 цифры, и мне нужно, чтобы раньше было 0. Это не сработает, если я использую строку