我需要对一个文本框里的内容进行加密,加密完以后可以再次解密。
在网上找到的采用异或方式的加密方法,有时可行,但对于文档较大的情况,常常会有一大断被删,没有加密。
请问大家有什么好的方法吗?加密的函数代码如下:Public Sub EncodeAndDecode(txtBox As TextBox, strPassword As String)
Dim Seed(1 To 24) As Integer
Dim Seedlong As Integer
Seedlong = Len(strPassword)For i = 1 To Seedlong
Seed(i) = Asc(Mid(strPassword, i, 1)) Xor i
Next i
Dim intLen As Long
Dim latter As Integer
Dim Temp As String
Temp = ""
intLen = Len(txtBox)For i = 0 To intLen Step Seedlong
For j = 1 To Seedlong
On Error GoTo c
latter = Asc(Mid(txtBox, i + j, 1))
latter = Seed(j) Xor Asc(Mid(txtBox, i + j, 1))
Temp = Temp & Chr(latter)
Next j
c: Next itxtBox = TempEnd Sub
在网上找到的采用异或方式的加密方法,有时可行,但对于文档较大的情况,常常会有一大断被删,没有加密。
请问大家有什么好的方法吗?加密的函数代码如下:Public Sub EncodeAndDecode(txtBox As TextBox, strPassword As String)
Dim Seed(1 To 24) As Integer
Dim Seedlong As Integer
Seedlong = Len(strPassword)For i = 1 To Seedlong
Seed(i) = Asc(Mid(strPassword, i, 1)) Xor i
Next i
Dim intLen As Long
Dim latter As Integer
Dim Temp As String
Temp = ""
intLen = Len(txtBox)For i = 0 To intLen Step Seedlong
For j = 1 To Seedlong
On Error GoTo c
latter = Asc(Mid(txtBox, i + j, 1))
latter = Seed(j) Xor Asc(Mid(txtBox, i + j, 1))
Temp = Temp & Chr(latter)
Next j
c: Next itxtBox = TempEnd Sub
Dim Seedlen As IntegerSeedlen = Len(strPassword) - 1Redim Seed(SeedLen)
For i = 0 To Seedlen
Seed(i) = Asc(Mid(strPassword, i, 1)) Xor i
Next iDim intLen As Long
Dim latter As Integer
Dim Temp As String
Temp = ""
intLen = Len(txtBox)For i = 0 To intLen
latter = Asc(Mid(txtBox, i, 1))
latter = Seed(intLen mod SeedLen) Xor latter
Temp = Temp & Chr(latter)
Next itxtBox = TempEnd Sub