# 簡單的數組操作字串,加密可用

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是解密

## E-Commerce Solutions

Leverage the same tools powering the Alibaba Ecosystem

## Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

## Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth \$300-1200 USD