题目

其8位日期加密授权码生成方法描述如下: ①授权码由9位字符组成,前三位为日期的密文,最后1位为验证码; ②日期的最后1位数字k(若k的值为0,令k=10),加密成26个大字英语字母表该位置对应的字母。 ③将26个大写英文字母向左移k(日期的最后1位数字)个位置,并将移出的k个字母依次连接到最后。例如当k=3时,形成如下表所示新的字母排列顺序: 位置 1 2 3 4 …… 23 24 25 26 字母 D E F G …… Z A B C ④日期的第1个数字至第7个数字的加密方法是:计算第i个位置上的数字与第i+1个位置的数字及位置i三者相加的和,在新的字母表中取出该数字和对应的字母,作为第i个位置上数字加密字符。 ⑤计算日期的各个位置上数字之和sum,若和sum的值大于26,在新的英文字表中,sum Mod 26对应字母转换成小写字母,作为验证码,否则验证码为新的英文字母表中对应字母。 (1) 根据上述加密算法,若输日期为“20000101”,则生成的注册码为。 (2) 小张根据上述加密算法,设计了一个对应的解密程序,其VB代码如下,请在划线处填入合适的代码。 Private Sub Command1_Click() Dim i As Integer, j As Integer, s As String, k As Integer Dim mw As String, sum As Integer, t As Integer, t1 As Integer strl="0123456789" s=Text1.Text    ①  t=k: sum=t s1=Mid(strl, t+1, 1) For i=7 To 1 Step-1 t1=Asc(Mid(s, i, 1))-64 j=    ②  s1=Mid(strl1, t+1, 1)+s1 sum=sum+t Next i mw=jm(k) If sum>26 Then sum=sum Mod 26 ch=Chr(Asc(Mid(mw, sun, 1))+32) Else ch=Mid(mw, sum, 1) End If If ch=Mid(s, 9, 1) Then Text2.Text=s1 Else Text2.Text="该系列号未能通过验证!" End Sub Function jm(t As Integer) As String Dim i As Integer, p As Integer If t=0 Then t=10 For i=1 To 26 p=(t+i-1) Mod 26    ③  Next i End Function ① ② ③  答案: 【1】DCDEGHIAE 【1】k= Asc(Mid(s, 8, 1))-64或k= Asc(Mid(s, 8, 1))-Asc( "A")+ 1【2】(t1-k+26) Mod 26【3】jm=jm+Chr(65+p)
信息技术 试题推荐