« 上一篇下一篇 »

各大微博短网址(ShortUrl)的asp版算法

 

各大微博短网址(ShortUrl)的asp版算法,模拟包含了网上的这两种算法:
1.为java版或c#版算法 2.为php算法
代码封装成了一个类了,集成于AspBox开源框架核心ab.url.asp中,具体请看代码:

复制代码
< s_prefix, s_suffix 
     s_by 
     m_lPower2( = = = 
    
     
    
    
    
    
    
    
    
    
    
    
    
    
    
    
      =    ,,,,, : s_by = 
             , : s_by = 
              : s_by = 
         =
      Let By( IsNull(s)  (s)=  s = 
          ( ,,,,, : s_by = 
             , : s_by = 
              : s_by = 
         
    
    
    
    
    
    
    
    
    
    
    
    
      Let Prefix(=
      =
    
    
    
    
    
    
    
    
    
    
    
      Let Suffix(=
      =
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
      ShortUrl(= (( s_by=  s_by=  s_by=  s_by=  s_by=  s_by= = s_by =   s_by =  == =
      ShortUrl_Java( url) 
         chars, = Array(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, = (Md5(s_prefix & url & s_suffix)) 
        Result = i =   = (, (i * ) + ,  temp : temp = Eval( &= &H3FFFFFFF  ( *= 
             j =   = (&H0000003D = out &
                hexint = RShift(hexint,) 
            ==
      ShortUrl_PHP( url) 
         base32, = Array(, , , , , , , ,, , , , , , , ,, , , , , , , ,, , , , , , ,  = (Md5(s_prefix & url & s_suffix)) 
        hexLen = (= hexLen / = i =   subHexLen-= (, (i * ) + ,  temp : temp = Eval( &= &H3FFFFFFF  ( *= 
             j =   = &H0000001F 
                out = out &
                hexint = RShift(hexint,) 
            ==
      Push( arr,  s) 
         i, a : a = arrLen(arr)<=  :   a(): a() = s: Push = a: :  
          a((arr)+(arr)+) ==
      Clone( arr) 
         arrLen(arr)<=  : Clone = arr: :  
         i = (arr)   ==
      arrLen( arr) 
           
          (arr) :arrLen=-: 
         temp:temp= Err  temp< :arrLen=:Err.Clear:: 
         i,iCount:iCount=
         i=(arr)  = iCount + 
        =   
    
      LShift( lThis,  lBits) 
            (lBits <= ) = (lBits > ) 
            
         (lBits > ) = 
        
             (lThis  m_lPower2( - lBits)) = m_lPower2( - lBits) = (lThis  (m_lPower2( - lBits) - )) * m_lPower2(lBits)  m_lPower2(= (lThis  (m_lPower2( - lBits) - )) * 
         
           
    
      RShift( lThis,  lBits) 
            (lBits <= ) = (lBits > ) 
            
         (lBits > ) = 
        
             (lThis  m_lPower2()) = m_lPower2() = (lThis  &H7FFFFFFF) \ m_lPower2(lBits)  m_lPower2( -= lThis \ 
         
           
    
        ) = &H1&) = &H2&) = &H4&) = &H8&) = &H10&) = &H20&) = &H40&) = &H80&) = &H100&) = &H200&) = &H400&) = &H800&) = &H1000&) = &H2000&) = &H4000&) = &H8000&) = &) = &) = &) = &) = &) = &) = &) = &) = &) = &) = &) = &) = &) = &) = &) = &   
    >

Leave a Comment

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。