加密算法的对应解密算法!
有加密算法:(VB)
Public Function sxhJiaMifashion(ByVal StrPwdEncry As String) As String
    Dim LPwdLen As Long
    Dim INo As Integer
    Dim JNo As Integer
    
    Dim CTmp As String
    
    Dim strTmp0 As String
    Dim strTmp1 As String
    Dim iMod As Integer
    LPwdLen = Len(StrPwdEncry)
    For INo = 2 To LPwdLen
      For JNo = 1 To LPwdLen
        CTmp = Mid(StrPwdEncry, JNo, 1)
         iMod = JNo Mod INo
        If iMod = 0 Then
           strTmp0 = strTmp0 + CTmp
        Else
          strTmp1 = strTmp1 + Chr(Asc(CTmp) + iMod)
        End If
    Next JNo
       
         StrPwdEncry = Reverse(Reverse(Right(strTmp0, LPwdLen)) + Left(strTmp1, LPwdLen)) + Chr(INo)
    Next INo
    JiaMi = StrPwdEncry
End Function  Public Function Reverse(ByVal Revstr As String) As String
   Dim I As Long
   Dim tEMP As String
   tEMP = ""
   For I = Len(Revstr) To 1 Step -1
      tEMP = tEMP & Mid(Revstr, I, 1)
    Next
    Reverse = tEMP
    
End Function
求其解密算法~!

解决方案 »

  1.   


    Public Function unjiami(ByVal str As String) As String
        Dim INo As Long
        Dim JNo As Long
        Dim LPwdLen As Long
        Dim CTmp As String
        Dim i As Long
        Dim strTmp0 As String
        Dim strTmp1 As String
        Dim iMod As Integer
        Dim temp As String
        Dim aa As String
        Dim bb As String
        
        Dim StrPwdEncry As String
        
        LPwdLen = Asc(Right(str, 1))
        StrPwdEncry = Space(LPwdLen)
        
        For INo = 2 To LPwdLen
          For JNo = 1 To LPwdLen
            CTmp = Mid(StrPwdEncry, JNo, 1)
             iMod = JNo Mod INo
            If iMod = 0 Then
               strTmp0 = strTmp0 + CTmp
            Else
              strTmp1 = strTmp1 + Chr(Asc(CTmp) + iMod)
            End If
        Next JNo
            aa = strTmp0
            bb = strTmp1
        Next INo
        temp = Reverse(Left(str, Len(str) - 1))
        strTmp1 = Right(temp, Len(Left(bb, LPwdLen)))
        strTmp0 = Reverse(Left(temp, Len(Right(aa, LPwdLen))))
        For i = 1 To LPwdLen
            Mid(strTmp1, i, 1) = Chr(Asc(Mid(strTmp1, i, 1)) - 1)
        Next
        temp = ""
        For i = 1 To LPwdLen
           If i Mod 2 = 0 Then
              temp = temp + Mid(strTmp0, Len(strTmp0) + 1 - i / 2, 1)
           Else
              temp = temp + Mid(strTmp1, (i + 1) / 2, 1)
           End If
        Next
        unjiami = temp
    End Function
      

  2.   

    zqfleaf(动力港湾) ~
    你调试过没有啊~?好象代码逻辑有错
    而且三未以上解密是不正确 的~