Dim S1 As String
Dim S2 As String
S1 = "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJ"
S2 = "abcdefghijklmnopqrstuvwxyzabcdefghij"
Dim LStr As String
LStr = "AXDCF1245CDxhsavs" # 保留原来的文本
Dim TStr As String
Dim i As Integer
Dim S As String
TStr = ""
For i = 1 To Len(LStr)
S = Mid(LStr, i, 1)
If InStr(S1, S) 0 Then
S = Mid(S1, InStr(S1, S) + 10, 1)
ElseIf InStr(S2, S) 0 Then
S = Mid(S2, InStr(S2, S) + 10, 1)
End If
TStr = TStr & S
Next i
Print TStr
首先程序定义两个字符串k1和k2;
这里他提供了一个名为Text1的变量,这应该是一个全局变量,在程序之前已经定义过。
首先,我们需要定义一个字符串变量code,用来存储Text1中的文字。然后,使用LCase()函数将Text1中的大写字母转换为小写字母。
加密的过程开始,为那一个循环过程。
在这个循环里 设定i的区间是1到code的长度
每个循环开始时候,将code中每一个字母取出来,赋值到s变量里面。
然后判断如果s不是空字符串时,将n赋值为s中的字母与字母a的一个"距离"(这里假设你对这个概念已经理解了,如果不明白,请再仔细思考一下)。
假设在字符串s中的字母'i'在字符串code中的位置是第n位,如果n不是2的倍数,那么我们将在字符串decode中添加第n个字母,这个字母来自字符串k1。如果n是2的倍数,那么我们将在字符串decode中添加第n个字母,这个字母来自字符串k2。
在刚才判断s是否为空字符的过程中,如果得到的s确实为空字符,那么我们将跳转到以下的处理过程。
假设输入的字母不是2的倍数,那么将空格这个字母变为k1的第27个字母,即p,并将其加入k2的第27个字母,即z。
最后将decode赋值给text2。
其实这个程序很简单。首先定义两个字符串,分别包含27个字母,其中包括26个字母和一个空格。然后将其中一个字符串的顺序打乱。接下来,根据需要加密的字符串,逐个取出每个字母,并根据字母在字符串中的位置,确定使用k1或者k2对应的掩码字母。这样就可以实现加密操作了。
Dim s As String
Private Sub Command1_Click()
's = InputBox("请输入一个英文字符串:")
s = "我有一本英语书。它有1234页。"
For i = 1 To Len(s)
C = UCase(Mid(s, i, 1))
If C >= "A" And C
C = Chr(Asc(C) - 3)
如果C小于"A",那么C将被设置为ASCII码加上26的对应字符。
End If
Mid(s, i, 1) = C
Next i
MsgBox ("加密后的字符串是:" & vbCrLf & s)
End Sub
Private Sub Command2_Click()
For i = 1 To Len(s)
C = Mid(s, i, 1)
If C >= "A" And C
C = Chr(Asc(C) + 3)
如果C大于“Z”,那么C将等于Chr(Asc(C) - 26)。
End If
Mid(s, i, 1) = C
Next i
MsgBox ("解密后的字符串是:" & vbCrLf & s)
End Sub
以下是根据学号末2位加密、解密的VB程序:
Private Sub Form_Click()
x = Val(Right(Text1.Text, 2)) '取学号末2位
'以下是加密
s = Text2.Text
s1 = s
For i = 1 To Len(s)
c = Mid(s1, i, 1)
Mid(s1, i, 1) = Chr(Asc(c) Xor x)
Next i
Text3.Text = s1
'以下是解密
s = s1
For i = 1 To Len(s)
c = Mid(s, i, 1)
Mid(s, i, 1) = Chr(Asc(c) Xor x)
Next i
Text4.Text = s
End Sub
以上是vb 2008编写一个字符串加密程序,对输入的一行字符进行字母的加密处理的详细内容。更多信息请关注PHP中文网其他相关文章!