编程题

字符加密。将大写字母逐个按其ASCII值转换为7位二进制数,并在最左边补0,使得每个字母转换为8位二进制数,然后将8位二进制数每四位转为十六进制数。如明文是"CIE",加密后的密文是"434945"。编写的python程序如下,完善划线处的代码。 

def xtob(n): #将整数转为二进制数 

    if n <= 1: 

        return str(n) 

    return  xtob(n//2)+  ①   

mingwen = "CIE" 

he = '0123456789ABCDEF' 

rst = '' 

for c in mingwen:

   s = "0" + xtob(ord(c)) #将明文转为8位二进制数 

   i = 0 

   data = 0

   while i < 8:

      data =data * 2 +  ②  

      if (i + 1) % 4 == 0: 

          rst = rst + he[data] 

          data = 0 

         ③   

print('密文是:',rst)

查看答案
赣ICP备20007335号-2