⑴以字节为单位进行加密处理;
⑵将1个字节的8位二进制数分割成前4位与后4位两个二进制数;
⑶分别将上述两个4位二进制数转换为十进制数;
⑷将每个十进制数转换为1个加密字符,对应的“密码表”如下:
值(十进制) |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
加密字符 |
I |
l |
i |
k |
e |
C |
H |
N |
p |
o |
s |
t |
c |
a |
r |
d |
小明按照上述方法,设计了一个字符串(仅包含ASCⅡ字符)加密的VB程序,功能如下:单击“加密”按钮Command1,程序依次将文本框Text1中每个字符的ASCⅡ码值作为1个字节转换为两个加密字符,连接这些加密字符,最后在文本框Text2中输出加密结果。下表展示了字符串中一个字符的加密过程:
实现上述功能的VB程序如下:
程序运行效果如图所示。
Private Sub Command1_Click ( )
Dim n As Integer, s As String, i As Integer, ss As String
Dim a As Integer ‘存储加密前字符的 ASCII码
Dim b1 As Integer, b2 As Integer ‘分别存储分割、转换后的两个十进制数
s = Text1. Text
n = Len (s)
For i = 1 To n
a = ①
b1 = a\16
b2 =a Mod 16
ss= ss + Code2 Char(b1) + Code2 Char(b2)
Text2. Text=ss
Next i
End Sub
‘十进制值转换为加密字符的函数
Function Code 2 Char(c As Integer) As string
Dim s As String
s = “IlikeCHNpostcard”
Code2Char = ②
End Function
① ②