请高手看看我的这个简单解密方法错在何处,谢谢!!!
解密不能得到原数据
Private Sub Command1_Click() '加密
Dim convStr() As Byte
Dim TotalB, k As Long
Dim myB As Byte
Dim myc As String
Dim myd As String
convStr = StrConv(Text1, vbFromUnicode)
TotalB = UBound(convStr)
For k = o To TotalB
myB = convStr(k)
myc = Chr(myB / 10 + Asc("a") - 30)
myd = myd + myc
Next
Text2 = myd
End SubPrivate Sub Command2_Click() '解密
Dim myc As String
Dim myd As String
    Dim i As Integer
    For i = 1 To Len(Trim(Text2.Text))
       myc = Asc(Mid(Trim(Text2.Text), i, 1))
       myc = (myc + 30 - Asc("a")) * 10
       myc = Chr(myc)
       myd = myd + myc
        Next i
    Text3 = myd
End Sub

解决方案 »

  1.   

    Private Sub Command1_Click() '加密
    Dim convStr() As Byte
    Dim TotalB, k As Long
    Dim myB As Byte
    Dim myc As String
    Dim myd As String
    convStr = StrConv(Text1, vbFromUnicode)
    TotalB = UBound(convStr)
    For k = o To TotalB
    myB = convStr(k)
    myc = Chr(myB / 10 + Asc("a") - 30)-----------------
    myd = myd + myc
    Next
    Text2 = myd
    End SubPrivate Sub Command2_Click() '解密
    Dim myc As String
    Dim myd As String
        Dim i As Integer
        For i = 1 To Len(Trim(Text2.Text))
           myc = Asc(Mid(Trim(Text2.Text), i, 1))
           myc = (myc + 30 - Asc("a")) * 10----------无法还原
           myc = Chr(myc)
           myd = myd + myc
            Next i
        Text3 = myd
    End Sub非整除,无法还原。看看:
    Private Sub Form_Load()
    myc = Chr(122 / 10 + Asc("a") - 30)
    MsgBox myc
    myc = Chr((Asc(myc) + 30 - Asc("a")) * 10)
    MsgBox myc
    End Sub