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中文網其他相關文章!