分别建三个文本
Text1'源内容
Text2'加密内容
Text3'解密内容
还有两个按钮
Command1'加密
Command2'解密我想这样做,按Command1的时候把Text1的内容加密并且放入Text2。按Command2的时候把Text2的内容解密到Text3内。请问如何实现,小弟在此先谢谢了。

解决方案 »

  1.   

    Option ExplicitPrivate Sub Command2_Click()
    Dim i As Long, l As Long
    l = Len(Text1.Text)
    Text3.Text = ""
    For i = 1 To l
     Text3.Text = Text3.Text & ChrW(AscW(Mid(Text2.Text, i, 1)) Xor 55)
    Next i
    End Sub
    Sub command1_click()
    Dim i As Long, l As Long
    l = Len(Text1.Text)
    Text2.Text = ""
    For i = 1 To l
     Text2.Text = Text2.Text & ChrW(AscW(Mid(Text1.Text, i, 1)) Xor 55)
    Next i
    End SubPrivate Sub Form_Load()
    Text1.Text = ""
    Text2.Text = ""
    Text3.Text = ""
    End Sub
      

  2.   

    谢谢楼上的,自己改了一下成功,不过Command2_Click里的l = Len(Text1.Text)
    写错了,应该是Text2.Text十分感谢
      

  3.   

    来个简单的。'db_key任意字符
    Private Const DB_KEY = "999999999"
    '加密
    Private Function EnCode(sCode As String, sKey As String) As String
    Dim i%, j%, l%, n%, bytData As Byte, s1 As String, s2 As String
    j% = Len(sCode): l% = Len(sKey): s1 = ""
    For n% = 1 To j%
        bytData = Asc(Mid$(sCode, n%, 1))
        For i% = 1 To l%
            bytData = bytData Xor Asc(Mid$(sKey, i%, 1))
        Next i%
        s2 = Hex(bytData)
        If Len(s2) = 1 Then s2 = "0" + s2
        s1 = s1 + s2
    Next n%
    EnCode = s1
    End Function
    '解密
    Private Function DeCode(ByVal sCode As String, ByVal sKey As String) As String
    Dim i%, j%, l%, n%, bytData As Byte, s1 As String, s2 As String
    j% = Len(sCode): l% = Len(sKey): s1 = ""
    For i% = 1 To j% Step 2
        s1 = s1 + Chr$(Val("&H" + Mid$(sCode, i%, 2)))
    Next i%
    j% = Len(s1): s2 = ""
    For n% = 1 To j%
        bytData = Asc(Mid$(s1, n%, 1))
        For i% = 1 To l%
            bytData = bytData Xor Asc(Mid$(sKey, i%, 1))
        Next i%
        s2 = s2 + Chr$(bytData)
    Next n%
    DeCode = s2
    End Function