⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 clsencrypt.cls

📁 这是温州现代集团的员工考勤管理系统
💻 CLS
字号:
VERSION 1.0 CLASS
BEGIN
  MultiUse = -1  'True
END
Attribute VB_Name = "clsEncrypt"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = True
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = False
Option Explicit

'加密函数
Public Function EncryptPassword(ByVal tempString As String) As String
    Dim stri(11) As Integer
    Dim PassString As String
    Dim i As Long
    Dim modval, quotient As Integer
    For i = 0 To Len(Trim(tempString)) - 1
        stri(i) = CInt(Asc(Mid(tempString, i + 1, 1)))
    Next
    Randomize
    stri(11) = CInt(Rnd(1) * 17371)
    Randomize
    stri(10) = CInt(Rnd(1) * 13791)
    Randomize
    stri(9) = CInt(Rnd(1) * 11111)
    
    For i = 0 To 2
        stri(0 + i) = (stri(0 + i) - i * 13733) Xor stri(9)
        stri(i + 3) = (stri(i + 3) - i * 13733) Xor stri(10)
        stri(i + 6) = (stri(i + 6) - i * 13733) Xor stri(11)
    Next
    
    For i = 0 To 11
        quotient = stri(i) And &HFF00
        modval = stri(i) And &HFF
        stri(i) = CInt((modval And &HF0) / &H10)
        modval = modval And &HF
        modval = modval * &H10 + stri(i)
        stri(i) = modval + quotient
    Next
    
    PassString = stri(0)
    For i = 1 To 11
        PassString = PassString & "#" & CStr(stri(i))
    Next
    EncryptPassword = PassString
End Function

'解密函数
Public Function DisencryptPassword(tempString As String) As String
    Dim i, StartPosition, EndPosition As Integer
    Dim stri(11) As Integer
    Dim freeString As String
    Dim quotient, modval As Integer
    Dim ErrFlag As Boolean
    ErrFlag = False
    StartPosition = 1
    For i = 0 To 10
        EndPosition = InStr(StartPosition, tempString, "#")
        If EndPosition = 0 Or EndPosition = Null Then
            ErrFlag = True
            Exit For
        End If
        stri(i) = CInt(Mid(tempString, StartPosition, EndPosition - StartPosition))
        StartPosition = EndPosition + 1
    Next
    If Not ErrFlag Then
        stri(11) = CInt(Mid(tempString, StartPosition, Len(tempString) + 1 - StartPosition))
    Else
        MsgBox "dkdk", vbCritical + vbSystemModal
        End
    End If
    '------------------------------------------------------------------
    For i = 0 To 11
        quotient = stri(i) And &HFF00
        modval = stri(i) And &HFF
        stri(i) = CInt((modval And &HF0) / &H10)
        modval = modval And &HF
        modval = modval * &H10 + stri(i)
        stri(i) = modval + quotient
    Next
    For i = 0 To 2
        stri(0 + i) = (stri(0 + i) Xor stri(9)) + i * 13733
        stri(i + 3) = (stri(i + 3) Xor stri(10)) + i * 13733
        stri(i + 6) = (stri(i + 6) Xor stri(11)) + i * 13733
    Next
    freeString = Empty
    For i = 0 To 7
        If stri(i) = 0 Then Exit For
        freeString = freeString & Chr(stri(i))
    Next
    DisencryptPassword = Trim(freeString)
    
End Function

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -