①将该字符的ASCII码加密钥后,转换成对应的8位二进制;
②将对应的8位二进制数进行按位取反(1变0,0变1);
③将最后产生的8位二进制数转换成对应的十六进制数;
④将得到的十六进制数码交换顺序后连接,即为该明文的密文。
例如,明文大写字母“A",输入的密钥数值为25,得到的密文为5A,信息加密过程如图所示。
小李编写了加密算法的VB程序,在文本框Text1中输入明文,单击“加密”按钮Command1。程序对明文数据依次进行加密处理,加密后生成的密文将显示在文本框Text2中。程序运行界面如图所示。
Function btoh(m As String)As String ‘将4位二进制数转换成对应的十六进制数
Dim s As Integer, i As Integer
Dim st As String
st="0123456789ABCDEF"
s=0
For i=1 To 4
s=s*2 +Val(Mid(m,i,1))
Next i
①
End Function
Private Sub Command1_Click( )
Dim ans,ch,s,ret,s1,s2 As String
Dim a,b,c As Integer
s= Text1.Text
c= Val(Text2.Text)
For i = 1 To Len(s)
ch=Mid(s,i,1) ‘取出第i个字符存入变量ch
a=Asc(ch)
b=a+c
ret = " "
For m=1 To 8 ‘完成加密步骤①和步骤②
n=(b+1)Mod 2
ret =str(n)+ ret
②
Next m
s1 = btoh(Mid(ret,1,4)) ‘完成加密步骤③和步骤④
s2 = btoh(Mid(ret,5,4))
ans=ans +s2+s1
Next i
Text3.Text=ans
End Sub
以上程序段运行时,为了实现上述功能,画线处应填入的代码分别为:①;②。
(not 1) or (0 and 1) or (3 and 4) or (5 and 6)or (7 and 8 and 9)
下列说法正确的是( )
n=Len(s) ‘s是待判断的字符串
k=0:j=n
For i=1 To n/ 2
Next i
If k=0 Then Labell Caption=“对称”Else Labell.Caption=“不对称”
方框中的代码由以下三部分组成:
①j=j-1 ②If cl <> c2 Then k=k+1 ③cl=Mid(s,i,l):c2=mid(s,j,l)
代码顺序正确的选项是( )
下列说法不正确的是( )
b(0)=0
For i=1 To 6
k=i
For j=i+1 To 7
If a(k) > a(j) Then k=j
Next j
If i <> k Then t=a(k): a(k)=a(i): a(i)=t
If a(i) <> a(i-1) Then
b(i)=i
Else
b(i)=b(i-1)
End If
Next i
若数组元素a(1)到a(7)的值依次为“6,7,6,3,9,2,3”,则经过上述程序加工后,b(5)的值是( )