Private Function Encrypt(ByVal strSource As String, ByVal Key1 As Byte, _
ByVal Key2 As Integer) As String
Dim bLowData As Byte
Dim bHigData As Byte
Dim i As Integer
Dim strEncrypt As String
Dim strChar As String
For i = 1 To Len(strSource) '从待加(解)密字符串中取出一个字符 strChar = Mid(strSource, i, 1) '取字符的低字节和Key1进行异或运算 bLowData = AscB(MidB(strChar, 1, 1)) Xor Key1 '取字符的高字节和K2进行异或运算 bHigData = AscB(MidB(strChar, 2, 1)) Xor Key2 '将运算后的数据合成新的字符 strEncrypt = strEncrypt & ChrB(bLowData) & ChrB(bHigData)
Next iEncrypt = strEncrypt
End Function
Private Sub cmd加密_Click()
Text2 = Encrypt(Trim(Text1), 188, 24)
End SubPrivate Sub cmd解密_Click()
Text1 = Encrypt(Trim(Text2), 188, 24)
End Sub其中188和24是密钥,我把密钥给定死了,为了简化程序。当我在text1中输入“一个好人”后,在text2显示加密后的字符是“嚼嚖?嘆”,可我在点击“解密”按钮后,应该在text1中显示“一个好人”,但是没有,而是显示“一个?人”,这是为什么?大虾多帮帮我,多谢。