我需要对一个文本框里的内容进行加密,加密完以后可以再次解密。
在网上找到的采用异或方式的加密方法,有时可行,但对于文档较大的情况,常常会有一大断被删,没有加密。
请问大家有什么好的方法吗?加密的函数代码如下: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

解决方案 »

  1.   

    Public Sub EncodeAndDecode(txtBox As TextBox, strPassword As String)Dim Seed() As integer
    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