简单的数组操作字符串,加密可用

发表于:2007-06-30来源:作者:点击数: 标签:
Public Function ary(str) Dim a() Dim b() Dim lenstr @#字符串长 Dim i, j @#循环变量 Dim ouflag lenstr = Len(str) If lenstr Mod 2 = 1 Then @#长度为奇 ouflag = False lenstr = lenstr + 1 ReDim a(2, lenstr / 2) a(2, lenstr / 2) = Chr(20) @#最后
Public Function ary(str)
Dim a()
Dim b()
Dim lenstr @#字符串长
Dim i, j @#循环变量
Dim ouflag
lenstr = Len(str)
If lenstr Mod 2 = 1 Then
@#长度为奇
ouflag = False
lenstr = lenstr + 1
ReDim a(2, lenstr / 2)
a(2, lenstr / 2) = Chr(20) @#最后一个补空格
Else
@#长度为偶
ReDim a(2, lenstr / 2)
ouflag = True
End If
ReDim b(lenstr / 2, 2)
For i = 1 To lenstr
If i <= lenstr / 2 Then
a(1, i) = Mid(str, i, 1)
Else
If ouflag = True Then
a(2, i - lenstr / 2) = Mid(str, i, 1)
Else
If i <> lenstr Then
a(2, i - lenstr / 2) = Mid(str, i, 1)
End If
End If
End If
Next
For i = 1 To 2
For j = 1 To lenstr / 2
b(j, i) = a(i, j)
Next
Next
For j = 1 To lenstr / 2
For i = 1 To 2
ary = ary & b(j, i)
Next
Next
If ouflag = False Then
ary = Left(ary, lenstr - 1)
End If
End Function
Public Function unary(str)
Dim a()
Dim b()
Dim lenstr @#字符串长
Dim i, j @#循环变量
Dim ouflag
lenstr = Len(str)
If lenstr Mod 2 = 1 Then
@#长度为奇
ouflag = False
lenstr = lenstr + 1
ReDim a(lenstr / 2, 2)
a(lenstr / 2, 2) = Chr(20) @#最后一个补空格
Else
@#长度为偶
ReDim a(lenstr / 2, 2)
ouflag = True
End If
ReDim b(2, lenstr / 2)
For i = 1 To lenstr
If i = lenstr And ouflag = False Then
a(lenstr / 2, 2) = " "
Else
If i Mod 2 = 1 Then
a((i + 1) / 2, 1) = Mid(str, i, 1)
Else
a(i / 2, 2) = Mid(str, i, 1)
End If
End If
Next
For i = 1 To 2
For j = 1 To lenstr / 2
b(i, j) = a(j, i)
Next
Next
For i = 1 To 2
For j = 1 To lenstr / 2
unary = unary & b(i, j)
Next
Next
If ouflag = flag Then
unary = Left(unary, lenstr - 1)
End If
End Function

用了你就知道用处了:
dim strg
strg="123456789"
strg=ary(strg)


unary是解密


原文转自:http://www.ltesting.net