当前位置: 高中信息技术 / 综合题
  • 1. (2023高二上·杭州期末) 某明文字符串仅由大、小写英文字母组成,为实现加密,小明依次对该明文中的每个字符进行如下操作:

    ①将明文中每个字符转换成其对应的十进制ASCII码值;

    ②明文的密钥由0-7这8个数字循环产生,如图-1所示;

    图-1

    ③加密过程中,先将每个明文字符的十进制ASCII码值转换成8位二进制数,再将每个字符对应的密钥转换为4位二进制数,最后,将由明文字符的十进制ASCII码值转换成的8位二进制数中的左边4位二进制数和右边4位二进制数,分别和由密钥数字转换成的4位二进制数逐位进行异或运算:1⊕1=0,1⊕0=1,0⊕1=1,0⊕0=0。

    例如:明文字符串“Programming”中字母“a”用二进制表示是01100001,其对应的密钥是数字5,用二进制表示是0101,加密后结果是00110100,如图-2所示。

    图-2

    ④将每个字符的加密结果按行输出,如图-3所示。请回答下列问题:

    1. (1) 输入字符串“China”,则字符“a”加密后的结果为
    2. (2) 实现上述功能的Python代码段如下,划线处代码为

      s=input("输入待加密的原文:  ")

      k=0 ; s1="" ; s2=""

      print("加密结果为:  ")

      for i in range(0,len(s)):

          ch= ord(s[i])

          m=k

          for j in range(0,4):

              t1=str((ch%2+m%2)%2)

              t2=          

              s1=t1+s1 ; s2=t2+s2

              ch=ch//2 ; m=m//2

          print(s2+s1)

          s1="" ; s2=""

         

      图-3

    3. (3) 加框处的代码有错误,请修改:

微信扫码预览、分享更方便