①将该字符的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
以上程序段运行时,为了实现上述功能,画线处应填入的代码分别为:①;②。