久久京东热成人精品视频,伊人久久综合,国产一区二区精品自拍,在线精品国精品国产3d

<menu id="e206k"></menu>
<center id="e206k"></center>
  • <menu id="e206k"></menu>
    <center id="e206k"></center>
  • <menu id="e206k"><noscript id="e206k"></noscript></menu>
    當前位置: 高中信息技術(shù) / 綜合題
    • 1. (2024高二下·浙江期中)  編寫一個加密程序,功能如下:輸入明文和一串數(shù)字密鑰,顯示加密后的密文,加密算法如下:

      ①將明文逆序排列,如明文“Python.org”,逆序后為“gro.nohtyP”;

      ②循環(huán)利用數(shù)字密鑰串的每一位數(shù)字 k,依次對字符串中的每個英文字母右移 k 個字母替代,其他字符保持不變。如:輸入的數(shù)字密鑰串為“2024”,“gro.nohtyP”的“n”是第 4個字母,使用密鑰串“2024”中的第 4個數(shù)字“4”進行右移 4個字母替代,即“n”往后移 4個字母,得到的是“r”,如下表所示:

      ③經(jīng)過數(shù)字密鑰串處理后,將字符串中的每個字符轉(zhuǎn)換為 8位二進制 ASCII碼值(不足 8位的左邊補 0,補足 8位),并分成兩段(左邊 4位為高四位,右邊 4位為低四位),如字符“i”的二進制 ASCII碼值為 01101001,高四位為 0110,低四位為 1001;

      ④將高四位轉(zhuǎn)化為十六進制數(shù)(如 0110轉(zhuǎn)化為 6);

      ⑤將低四位與高四位執(zhí)行異或(⊕)操作后轉(zhuǎn)化為十六進制數(shù)(提示:0⊕0=0,0⊕1=1,1⊕0=1,1⊕1=0,如 1001⊕0110=1111,1111轉(zhuǎn)化為 F);

      ⑥依次連接④⑤得到的兩位十六進制數(shù),即為該字符的密文,如“i”的密文為“6F”;

      ⑦將每個字符的密文按照順序依次連接即為最終的密文。程序運行結(jié)果如圖所示。

      實現(xiàn)上述功能的 Python程序如下,請回答下列問題:

      1. (1) 按照上述加密算法,經(jīng)過數(shù)字密鑰串處理后,字符“m”的密文是。
      2. (2) 請在劃線處填入合適代碼。

        def xor(x,y): #兩個一位二進制數(shù)異或

         if x==y:

         return "0"

         else:

         return "1"

        def DtoB(D): #十進制轉(zhuǎn) 8位二進制,高位段和低位段根據(jù)規(guī)則處理

         B=""

         for i in range(8):

         r=D%2

         D=D//2

         B=str(r)+B

         for j in range(4):

         B=B[:j+4] ++ B[j+5:]

         return B

        mingw=input("請輸入明文:")

        key=input("請輸入數(shù)字密鑰串:")

        mingw=

        miw="";pos=0

        for i in range(len(mingw)):

         if "A"<=mingw[i]<="Z" or "a"<=mingw[i]<="z":

         if "A"<=mingw[i]<="Z":

         t=ord("A")

         else:

         t=ord("a")

         miw+=chr((ord(mingw[i])-t+int(key[pos]))%26+t)

                

         else:

         miw+=mingw[i]

        new=""

        for i in range(len(miw)):

         new+=DtoB(ord(miw[i]))

         hex="0123456789ABCDEF";result="";

         for i in range(0,len(new),4):

         n=int(new[i])

         for j in range(1,4):

         n=n*2+int(new[i+j])

                

        print("密文為:",result)

    微信掃碼預覽、分享更方便