网络编程 
首页 > 网络编程 > 浏览文章

不错的主要用于加密的vbs(asp)位移运算类

(编辑:jimmy 日期: 2024/9/22 浏览:3 次 )
<script language="vbscript">
' Aother: 奔腾的心
'     QQ: 7180001
'   Date: 2008-01-17

Class mShift

    Private m_lPower2(31)

    Public Function RShift(ByVal lThis, ByVal lBits)
        On Error Resume Next
        Init
        If (lBits <= 0) Then
           RShift = lThis
        ElseIf (lBits > 63) Then
           ' .. error ...
        ElseIf (lBits > 31) Then
           RShift = 0
        Else
           If (lThis And m_lPower2(31 - lBits)) = m_lPower2(31 - lBits) Then
              RShift = (lThis And (m_lPower2(31 - lBits) - 1)) * m_lPower2(lBits) Or 
m_lPower2(31)
           Else
              RShift = (lThis And (m_lPower2(31 - lBits) - 1)) * m_lPower2(lBits)
           End If
        End If
    End Function

    Public Function LShift(ByVal lThis, ByVal lBits)
        On Error Resume Next
        Init
        If (lBits <= 0) Then
           LShift = lThis
        ElseIf (lBits > 63) Then
           ' ... error ...
        ElseIf (lBits > 31) Then
           LShift = 0
        Else
           If (lThis And m_lPower2(31)) = m_lPower2(31) Then
              LShift = (lThis And &H7FFFFFFF) \ m_lPower2(lBits) Or m_lPower2(31 - lBits)
           Else
              LShift = lThis \ m_lPower2(lBits)
           End If
        End If
    End Function

    Private Sub Init()
        On Error Resume Next
        m_lPower2(0) = &H1&
        m_lPower2(1) = &H2&
        m_lPower2(2) = &H4&
        m_lPower2(3) = &H8&
        m_lPower2(4) = &H10&
        m_lPower2(5) = &H20&
        m_lPower2(6) = &H40&
        m_lPower2(7) = &H80&
        m_lPower2(8) = &H100&
        m_lPower2(9) = &H200&
        m_lPower2(10) = &H400&
        m_lPower2(11) = &H800&
        m_lPower2(12) = &H1000&
        m_lPower2(13) = &H2000&
        m_lPower2(14) = &H4000&
        m_lPower2(15) = &H8000&
        m_lPower2(16) = &H10000
        m_lPower2(17) = &H20000
        m_lPower2(18) = &H40000
        m_lPower2(19) = &H80000
        m_lPower2(20) = &H100000
        m_lPower2(21) = &H200000
        m_lPower2(22) = &H400000
        m_lPower2(23) = &H800000
        m_lPower2(24) = &H1000000
        m_lPower2(25) = &H2000000
        m_lPower2(26) = &H4000000
        m_lPower2(27) = &H8000000
        m_lPower2(28) = &H10000000
        m_lPower2(29) = &H20000000
        m_lPower2(30) = &H40000000
        m_lPower2(31) = &H80000000
    End Sub

End Class

Dim sft
Set sft = New mShift
MsgBox sft.RShift(200, 4)
MsgBox sft.LShift(200, 4)
Set sft = Nothing
</script>


<script language="javascript">
alert(200<<4);
alert(2004);
</script>
上一篇:Script.VBS.Agent.ai juan.vbs专杀
下一篇:根据日期得到生肖的ASP函数
一句话新闻
Windows上运行安卓你用过了吗
在去年的5月23日,借助Intel Bridge Technology以及Intel Celadon两项技术的驱动,Intel为PC用户带来了Android On Windows(AOW)平台,并携手国内软件公司腾讯共同推出了腾讯应用宝电脑版,将Windows与安卓两大生态进行了融合,PC的使用体验随即被带入到了一个全新的阶段。
友情链接:杰晶网络 DDR爱好者之家 南强小屋 黑松山资源网 白云城资源网 SiteMap