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

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

来源2022年
时间限制1s
内存限制256MB
通过 / 提交0/0

题目描述

字符加密。将大写字母逐个按其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)
C++ 编辑器
输入
输出