1. 小萌对文本数据进行加密处理,加密算法设计如下:

第一步:换位加密。将明文字符串首尾相接围成一圈,从第一个字符开始计数,计数到m时相应的字符出圈,然后从下一个字符重新计数,直到最后圈中的字符全部出圈。出圈的序列就是该换位加密后的密文。例如明文“abY82?”,密钥m=4,按照上述规则得到的密文为“8baY?2”。

第二步:替代加密。将第一步得到的密文中的大小写字母和数字进行加密,密文字符由正常顺序的字母表或数字表右移m个位置替换得到。例如当m=4时,替换情况如第16题图所示。当m=4时,“8baY?2”经过处理后的密文为“2feC?6”。

(1) 明文字符串“5c-W”经过上述加密方法,密钥m=3处理后的密文字符串为
(2) 小萌根据上述加密策略编写Python程序如下,请在划线处填上合适的代码。

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

m=int (input("请输入密钥:"))

q=[’’]*1000

miwen=""

n=len (mingwen)

for i in range(n):

   q[i]=mingwen[i]

head, tail=0, n

i, s=1, 0

while i<=n:

    tmp=q[head]; head+=1

    s+=1

    if :

       miwen+=tmp

       i+=1

       s=0

    else:

     

      tail+=1

ans=""

for i in miwen:

   if i>="A" and i<="Z"

     x=chr((ord(i)-65+m)%26+65)    #大写字母A的ASCII码为65

     elif i>="a" and i<="z":

     x=chr((ord(i)-97+m)%26+97)    #小写字母a的ASCII码为97

     elif i>="0" and i<="9":

                       #数字字符0的ASCII码为48

     else:

        x=i

     ans+=x

print (ans)

【考点】
加密与解密算法;
【答案】

您现在未登录,无法查看试题答案与解析。 登录
综合题 困难
能力提升
换一批