当前位置: 高中信息技术 / 综合题
  • 1. (2023高二下·台州期中) 近期学校大力宣传信息安全,小张同学想利用近期学习的数据加密知识,对同班同学的密码进 行加密,加密规则如下:

    ①大小写转换:将明文中的大写字母改为小写字母

    ②置换加密:根据输入的置换密码,将字符串中的字母和数字逐个加上置换密码中的对应数字 循环左移 ,置换密码可 以循环使用 。如原文为 “hello2023”,置换密钥为 “526”,则加密为 “ccfgm6507”。(明文字符 h、e、l、l、o、2、0、2、3 分别往左移 5、2、6、5、2、6、5、2、6 位)

    ③除字母、数字以外的字符不变。

    1. (1) 若输入的明文为:123Bus,置换密码为:4301,则输出的密文为:
    2. (2) 大小写的转换

      def change(ch):

      ch=chr()

      return ch

    3. (3) 置换加密

      def encypt  (encode ,key):

      q=[]

      result=’’

      for x in key:

      q.append(int(x))#将密钥逐个转为数值,并放到 q 中

      head=0

      for ch in encode:

      if "A"<=ch<="Z":

      ch=change(ch)

      if "a"<=ch<="z":

      ch=chr((ord(ch)-97-q[head])%26+97)

      elif "0"<=ch<="9":

      ch=

      head=

      result+=ch

      return result

    4. (4) 主程序

      mw=input("请输入明文:")

      key=input("请输入置换密钥:")

      ss=encypt()

      print("密文为:"+ss)

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