Как преобразовать ’00’ в 00 (интегратор) в python с помощью «.join()?

#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. Это не сработает, если я использую строку