设计一个口令加密程序.口令由字母构成,将输入的每个字母循环左移2个字母(区分大小写),如下图:
明文: A B C … X Y Z
密码: Y Z A … V W X
运行界面如下:
明文:PassWord
密码:NyqqUmpb
那位高人会啊.?指点哈..谢了...
明文: A B C … X Y Z
密码: Y Z A … V W X
运行界面如下:
明文:PassWord
密码:NyqqUmpb
那位高人会啊.?指点哈..谢了...
Dim arr
Dim s, s1 As String
Dim i, p As Integer
arr = Array("a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z")
MW = "PassWord"
For i = 1 To Len(MW)
s = Mid(MW, i, 1)
Debug.Print s
For j = 0 To UBound(arr)If arr(j) = LCase(s) Then p = j - 2
If p < 0 Then p = 27 + p
If p > 26 Then p = p - 27
Next
Debug.Print p
If Asc(s) < 97 Then
s1 = s1 & UCase(arr(p))
Else
s1 = s1 & arr(p)
End IfNext
MsgBox s1
End Sub
Dim b As String
Dim pasw As String
pasw = "abcde"
a = Right(pasw, 2)
b = Left(pasw, Len(pasw) - 2)
pasw = a & b
Debug.Print pasw
Dim arr
Dim s, s1 As String
Dim i, p As Integer
MW = "PassWord"
For i = 1 To Len(MW)
s = Mid(MW, i, 1)
Select Case Asc(s)
Case 65 To 90
p = Asc(s) - 2
If p < 65 Then p = 90 + p - 64
Case 97 To 122
p = Asc(s) - 2
If p < 97 Then p = 122 + p - 96
End Select
Debug.Print Chr$(p)
s1 = s1 & Chr$(p)
Next
MsgBox s1
End Sub