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

王朝other·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

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

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航