字符串加密

提交数: 452, 通过率: 71.9%, 平均分: 71.9

题目描述:

 某字符串加密程序, 加密算法如下:
①明文中每个字符用 8 位二进制 ASCII 码(不足八位的左端补 0, 凑足八位) 表示, 如“A” 的二进制 ASCII
码值为 01000001;
②对 8 位二进制编码进行取反码(0 变 1, 1 变 0) 操作,如 01000001 的反码是 10111110;
③将 8 位二进制反码用 2 位十六进制表示, 得到该字符的密文;
④将每个字符的密文按照明文的倒序连接。
 

输入格式:

一行明文

输出格式:

一行加密后的密文

样例输入:

China

样例输出:

9E919697BC

提示:

请完善如下程序:

def btoh(b):
#自定义函数是将b中存储的二进制反码转换成对应的十六进制数
    h=0
    H=""
    for i in range(8):
        h=h*2+int(b[i])
        if (i+1)%4==0:
            if 0<=h<=9:
                H=H+str(h)
            else:
                _________1__________
            h=0
    return H
s=input()
mw=""
for i in s:
    m=ord(i)
    b=""
    for j in range(8):
        _____2______
        m=m//2
        b=str(r)+b
    _______3________
print( mw )

 如果输入的明文是“ABC”,则加密后的密文为 ________________________

时间限制: 1000ms
空间限制: 256MB

来源: 2021高二期中考试t18