zoukankan      html  css  js  c++  java
  • ASP常用的代碼

    UTY FILE
    =========
    <%

    'const strIP = "192.168.1.35"
    web_title="Fan System"

    'pagesize
    order_pagesize_10=10
    order_pagesize_15
    =15
    order_pagesize_20
    =20
    order_pagesize_25
    =25
    order_pagesize_30
    =30

    'connection access mdb
    Function Openmdb()
      Application.Lock()
     
    dim conn
      datafile
    ="uty/data.mdb"
      
    'conn_str="DRIVER={Microsoft Access Driver (*.mdb)};DBQ="& Server.MapPath

    (
    ""&datafile&"")
     conn_str
    ="Provider = Microsoft.Jet.OLEDB.4.0;Data Source="& Server.MapPath

    (
    ""&datafile&"")
     
    if not(IsObject(conn)) then
        
    set conn =Server.CreateObject("ADODB.Connection")
        conn.ConnectionTimeOut
    =50
       conn.CommandTimeOut
    =120
        conn.Open conn_str
       
    set Openmdb=conn
     
    end if
     Application.UnLock()
    End Function

    'connection mssql
    Function Opendb(conn_to)
      Application.Lock
      
    Dim conn
      
    Set conn = Server.CreateObject("ADODB.Connection")
      conn.ConnectionTimeout
    =50
      conn.CommandTimeout
    =120
      
    if UCase(conn_to)="MSC" then
        connString 
    = "Driver={sql server};uid=mscuser;pwd=;database=prs_msc;server="+strIP
      
    else
        
    'connString = "Driver={sql 

    server};uid
    =apuser;pwd=prosperous;database=emsc;server="+strIP
        connString = "Driver={sql server};uid=sa;pwd=sa;database=MAS;server=(local)"
      
    end if
      conn.open connString
      
    Set Opendb = conn
      Application.UnLock
    End Function

    'connection txt.csv file
    Function Opendb_csv(csv_file_path)
      Application.Lock
      
    Dim csvconn
      
    Set csvconn = Server.CreateObject("ADODB.Connection")
      csvconn.ConnectionTimeout
    =50
      csvconn.CommandTimeout
    =120
      csvconn.open 
    "Provider=MSDASQL.1;Driver={Microsoft Text Driver (*.txt; 

    *.csv)};DBQ="+csv_file_path
      Set Opendb_csv=csvconn
      Application.UnLock
    End Function

    'connection ms-xls
    Function Opendb_Excel(Excel_file_path) 
      Application.Lock 
      
    Dim Excelconn 
      
    Set Excelconn=Server.CreateObject("ADODB.Connection"
      Excelconn.ConnectionTimeout
    =50 
      Excelconn.CommandTimeout
    =120 
      Excelconn.open 
    "Provider=MSDASQL.1;Driver={Microsoft Excel Driver 

    (
    *.xls)};DBQ="+Excel_file_path 
      Set Opendb_Excel=Excelconn 
      Application.UnLock 
    End Function 

    'format strings
    Function format_ndx(int_ndx,len_ndx)
      format_ndx
    =cstr(int_ndx)
      
    for i_ndx=1 to len_ndx-len(cstr(int_ndx))
        format_ndx
    ="0"+format_ndx
      
    next
    End Function

    'format datetime
    function format_datecode(date_to_format)
      dc_y
    =cstr(year(date_to_format))
      dc_m
    =cstr(month(date_to_format))
      dc_d
    =cstr(day(date_to_format))
      
    if len(dc_m)=1 then dc_m="0"+dc_m
      
    if len(dc_d)=1 then dc_d="0"+dc_d
      format_datecode
    =dc_y+dc_m+dc_d
    end function

    %
    >
    ==========
    DEL.JS
    =====================
    function onDelete(url)
    {
      answer
    =confirm("確定刪除此筆資料?");
      
    if (answer)
      {
        location.href 
    = url;
      }
    }
    =====================
    date.js
    ====================
    <!--
    function GetDate(obj) {
     var ls_url 
    = "uty/calendar.htm";
     var ls_date 
    = window.showModalDialog

    (ls_url,
    "","DialogWidth:280px;DialogHeight:250px;help:no;status:no")
     
    // Sonia 新增 因為按關閉跟X會帶出 undefined
     
    if (ls_date==undefined){ls_date=""}
     
     obj.value
    =ls_date ;
     
    if(ls_date=="" || String(ls_date)=="請點選") return
      
    else
     {
       obj.value
    =ls_date ;
     }
       }
    //-->
    =====================
    calendar.htm
    ============
    <!--
    **************************************************************&lt;&lt;  &gt;&gt;
    日期選擇頁面:Calendar.htm
    作者:liang
    時間:
    2002/3/2

    在需要選擇日期的(onclick)函數中加入:   (ls_oldDate
    =原日期,可為"",表示取

    當前日期)
     var ls_oldDate
    ="";   //取原日期
     var ls_url 
    = "../../function/Calendar.htm";  //選擇日期頁面的完整路徑,

    檔案名
     var ls_newDate
    =window.showModalDialog

    (ls_url,ls_oldDate,
    "DialogWidth:280px;DialogHeight:250px;help:no;status:no")
     
    if(String(ls_newDate)=="undefined") return
     
     ls_newDate
    =選擇的日期,"undefined":不選擇
    *****************************************************
    -->

    <html>
    <head>
    <title>日期選擇</title>
    <meta http-equiv="Content-Type" content="text/html; charset=big5">
    <link href="../intestine/style.css" rel="stylesheet" type="text/css">
    <link href="../admin/style.css" rel="stylesheet" type="text/css">
    </head>
    <body bgcolor="#FFFFFF" onload="init()">
    <center>
    <form name="form1" method="post" action="" >
      
    <table border=0 cellspacing=2 cellpadding=1 width="250" align="center" 

    bgcolor
    ="#FFFFFF" bordercolor="#FFFFFF">
        
    <tr bgcolor="#FFFFCC" bordercolor="#0099FF"> 
          
    <td align="center" colspan=7 bgcolor="#DADC8D"> 
            
    <table width=100% border=0 cellspacing=0 cellpadding=0>
              
    <tr> 
                
    <td align="left">
                
    <a href="#" style="text-decoration: none" onclick="sel_year(1)"><font 

    color
    ="#000000" size="-1"><b>上年</b></font></a></font>
                
    <a href="#" style="text-decoration: none" onclick="sel_month(1)"><font 

    color
    ="#000000" size="-1"><b>上月</b></font></a></font></td>
                
    <td align="center"><font color="red" size="3"><b>
                
    <span id="date1"></span></b></font></td>
                
    <td align="right">
                
    <a href="#" onclick="sel_month(2)" style="text-decoration: none"><font 

    color
    ="#000000" size="-1"><b>下月</b></font></a></font>
               
    <a href="#" onclick="sel_year(2)" style="text-decoration: none"><font 

    color
    ="#000000" size="-1"><b>下年</b></font></a></font></td>
              
    </tr>
            
    </table>
          
    </td>
        
    </tr>
        
    <tr bgcolor="#AFAF5F" bordercolor="#00CCFF"> 
          
    <td align="center" height="19"><font color="#FFFFFF"><b></b> </font></td>
          
    <td align="center" height="19"><font color="#FFFFFF"><b></b> </font></td>
          
    <td align="center" height="19"><font color="#FFFFFF"><b></b> </font></td>
          
    <td align="center" height="19"><font color="#FFFFFF"><b></b> </font></td>
          
    <td align="center" height="19"><font color="#FFFFFF"><b></b> </font></td>
          
    <td align="center" height="19"><font color="#FFFFFF"><b></b> </font></td>
          
    <td align="center" height="19"><font color="#FFFFFF"><b></b> </font></td>
        
    </tr>
      
    <TBODY id="oTbody1">
        
    </TBODY>
     
      
    </table>
      
    <table width="250" border="0" cellspacing="0" cellpadding="2" align="center">
        
    <tr> 
          
    <td bgcolor="#DADC8D"> 
            
    <div align="center"><font color="#000000">
            
    <input type="text" size="4" name="YEAR1">&nbsp;
            
    <input type="text" size="2" name="MONTH1">&nbsp;
            
    <a href="#" onclick="go1()">轉到</a>&nbsp;&nbsp;&nbsp;&nbsp;
            
    <a href="#" onclick="ret_date('')" style="text-decoration: none" >關閉</a></div>
          
    </td>
        
    </tr>
      
    </table>
      
    <input type="hidden" name="CURR_YEAR" value="">
      
    <input type="hidden" name="CURR_MONTH" value="">
    </form>
    </center>
    </body>
    </html>

    <script language="Javascript">
    var ls_oldDate
    =window.dialogArguments; //取原日期

    <!--
    function init()
    {
     
    if(ls_oldDate=="")
     {
      var curr_date
    =new Date();
      var obj
    =document.form1;
     }
     
    else
      var curr_date
    =new Date(ls_old);
     
     obj.CURR_YEAR.value
    =curr_date.getYear()
     obj.CURR_MONTH.value
    =curr_date.getMonth()+1;
     disp();
    }

    function disp()
    {
     var obj
    =document.form1;
     iYear
    =parseInt(obj.CURR_YEAR.value);
     iMonth
    =parseInt(obj.CURR_MONTH.value);
     date1.innerHTML
    =iYear+"年 "+getMonthText(iMonth);
     obj.YEAR1.value
    =iYear;
     obj.MONTH1.value
    =iMonth;

     
    //刪除日期表格
     
    for (i=oTbody1.rows.length-1;i>=0;i--)
     {
      oTbody1.deleteRow(i)
     }
     var oRow,oCell;
     var max_day
    =GetMaxDay();
     var iDay
    =1;
     var curr_date
    =new Date(iYear+"/"+iMonth+"/1");
     var start_wk
    =curr_date.getDay();
    // alert(iYear+"/"+iMonth+"/1"+"---"+start_wk)
     
     curr_date
    =new Date();
     var curr_day
    =curr_date.getDate();
     var str
    ="";

     
    for(;;)
     {
      oRow 
    = oTbody1.insertRow(); 
      
    for(iWeek=0;iWeek<start_wk;iWeek++)
      {
       oCell 
    = oRow.insertCell();
       oCell.align
    ="center"
       oCell.innerHTML 
    = "&nbsp;";
      }
      
      
    for(iWeek=start_wk;iWeek<7;iWeek++)
      {
       
       
       oCell 
    = oRow.insertCell();
       oCell.align
    ="center"
       
    if(curr_day==iDay) 
       {
        str
    ="<a href='#' onclick=ret_date

    (
    '"+iYear+"/"+iMonth+"/"+iDay+"')><font color='#FFFFFF'>"+iDay+"</font></a>";
        oCell.bgColor="#FF9933";
       }
       
    else
       {
        str
    ="<a href='#' onclick=ret_date

    (
    '"+iYear+"/"+iMonth+"/"+iDay+"') >"+iDay+"</a>";
       }
       oCell.style.FontSize
    ="9pt";
       oCell.innerHTML 
    = str;
       iDay
    ++
       
    if(iDay>max_day) return;
      }
      start_wk
    =0;
     }
     
    }

    //選擇月份
    function sel_month(f)
    {
     var obj
    =document.form1;
     var iYear
    =parseInt(obj.CURR_YEAR.value);
     var iMonth
    =parseInt(obj.CURR_MONTH.value);
     
     
    if(f==1)  //前一個月
     {
      
    if(iMonth==1
      {
       iMonth
    =12;
       iYear
    --;
      }
      
    else iMonth--;
     }
     
    else if(f==2)  //后一個月
     {
      
    if(iMonth==12)
      {
       iMonth
    =1;
       iYear
    ++;
      }
      
    else iMonth++;
     }

     
    if(iYear<1900 ) iYear=1900;
     
    if(iYear>9999) iYear=9999;
     obj.CURR_YEAR.value
    =iYear;
     obj.CURR_MONTH.value
    =iMonth;
     disp();
    }

    //選擇年份
    function sel_year(f)
    {
     var obj
    =document.form1;
     var iYear
    =parseInt(obj.CURR_YEAR.value);
     
     
    if(f==1)  //前一個年
      iYear
    --;
     
    else if(f==2)  //后一個年
      iYear
    ++;
     
    if(iYear<1900 ) iYear=1900;
     
    if(iYear>9999) iYear=9999;
     
     obj.CURR_YEAR.value
    =iYear;
     disp();
    }

    //到指定年月
    function go1()
    {
     var obj
    =document.form1;
     var iYear
    =parseInt(obj.YEAR1.value);
     var iMonth
    =parseInt(obj.MONTH1.value);
     var curr_date
    =new Date();
     
     
    if(String(iYear)=="NaN") iYear=curr_date.getYear();

     
    if(String(iMonth)=="NaN") iMonth=curr_date.getMonth()+1;
     
     
    if(iYear<1900 ) iYear=1900;
     
    if(iYear>9999) iYear=9999;

     
    if(iMonth<0) iMonth=1;
     
    if(iMonth>12) iMonth=12;
      
     obj.CURR_YEAR.value
    =iYear;
     obj.CURR_MONTH.value
    =iMonth;
     disp();
    }

    //得到某月的天數
    function GetMaxDay()
    {
      var obj
    =document.form1;
      var iYear
    =parseInt(obj.CURR_YEAR.value);
      var iMonth
    =parseInt(obj.CURR_MONTH.value);
        switch(iMonth)
        {
         
    case 1:
         
    case 3:
         
    case 5:
         
    case 7:
         
    case 8:
         
    case 10:
         
    case 12:
        return 
    31;
       
    case 4:
       
    case 6:
       
    case 9:
       
    case 11:
        return 
    30;
       
    case 2:
        curr_date
    =new Date(iYear+"/2/29");
        
    if(curr_date.getMonth()==1) return 29;
        
    else return 28
      }
    }

    function getMonthText(iMonth)
    {

     switch(iMonth)
     {
      
    case 1:
       return 
    "一月";
      
    case 2:
       return 
    "二月";
      
    case 3:
       return 
    "三月";
      
    case 4:
       return 
    "四月";
      
    case 5:
       return 
    "五月";
      
    case 6:
       return 
    "六月";
      
    case 7:
       return 
    "七月";
      
    case 8:
       return 
    "八月";
      
    case 9:
       return 
    "九月";
      
    case 10:
       return 
    "十月";
      
    case 11:
       return 
    "十一月";
      
    case 12:
       return 
    "十二月";
      defautl:
       return 
    "";
     }
    }

    //返回選擇日期
    function  ret_date(date1)
    {
     window.returnValue 
    = date1;
      window.close();
    }

    //-->
    </script>

    ============
    另外還有幾張圖片,不要丟了.
    CheckTimeOut.asp
    ======================
    <%
    if session("user_id")="" then
    session_timeout
    ="閒置時間過久,請重新登入."
    %
    >
    <script language="javascript">
    alert(
    "<%=session_timeout%>");
    location.href
    ="mas_login.asp";
    </script>
    <%
    end if
    %
    >
    ======================
    check.js
    =====================
    function checklength(obj,num)
    {
      var a
    =obj.value;
      
    if (obj.value!=''&&a.length>num)
      {
        alert(
    "字符長度不能大於"+num);
     obj.focus();
     obj.select();
     return 
    false;
      }
      
    else
      {
        return 
    true;
      }
    }

    function checkNum(obj)
    {
      
    if(obj.value!=''&&isNaN(parseFloat(obj.value)))
      {
        alert(
    "請輸入數值.");
     obj.focus();
     obj.select();
     return 
    false;
      }
      
    else
      {
        return 
    true;
      }
    }

    function checkDateLater(d1,d2)
    {
      var dt1 
    = new Date(d1);
      var dt2 
    = new Date(d2);
      
    if(dt2>dt1)
      {
        return 
    false;
      }
      
    else
      {
        return 
    true;
      }
    }

    ====================
    ===md5 function =====
    <%
    Private Const BITS_TO_A_BYTE = 8
    Private Const BYTES_TO_A_WORD = 4
    Private Const BITS_TO_A_WORD = 32

    Private m_lOnBits(30)
    Private m_l2Power(30)
     
    Private Function LShift(lValue, iShiftBits)
        
    If iShiftBits = 0 Then
            LShift 
    = lValue
            
    Exit Function
        
    ElseIf iShiftBits = 31 Then
            
    If lValue And 1 Then
                LShift 
    = &H80000000
            
    Else
                LShift 
    = 0
            
    End If
            
    Exit Function
        
    ElseIf iShiftBits < 0 Or iShiftBits > 31 Then
            Err.Raise 
    6
        
    End If

        
    If (lValue And m_l2Power(31 - iShiftBits)) Then
            LShift 
    = ((lValue And m_lOnBits(31 - (iShiftBits + 1))) * m_l2Power(iShiftBits)) 

    Or &H80000000
        
    Else
            LShift 
    = ((lValue And m_lOnBits(31 - iShiftBits)) * m_l2Power(iShiftBits))
        
    End If
    End Function

    Private Function RShift(lValue, iShiftBits)
        
    If iShiftBits = 0 Then
            RShift 
    = lValue
            
    Exit Function
        
    ElseIf iShiftBits = 31 Then
            
    If lValue And &H80000000 Then
                RShift 
    = 1
            
    Else
                RShift 
    = 0
            
    End If
            
    Exit Function
        
    ElseIf iShiftBits < 0 Or iShiftBits > 31 Then
            Err.Raise 
    6
        
    End If
        
        RShift 
    = (lValue And &H7FFFFFFE) \ m_l2Power(iShiftBits)

        
    If (lValue And &H80000000) Then
            RShift 
    = (RShift Or (&H40000000 \ m_l2Power(iShiftBits - 1)))
        
    End If
    End Function

    Private Function RotateLeft(lValue, iShiftBits)
        RotateLeft 
    = LShift(lValue, iShiftBits) Or RShift(lValue, (32 - iShiftBits))
    End Function

    Private Function AddUnsigned(lX, lY)
        
    Dim lX4
        
    Dim lY4
        
    Dim lX8
        
    Dim lY8
        
    Dim lResult
     
        lX8 
    = lX And &H80000000
        lY8 
    = lY And &H80000000
        lX4 
    = lX And &H40000000
        lY4 
    = lY And &H40000000
     
        lResult 
    = (lX And &H3FFFFFFF) + (lY And &H3FFFFFFF)
     
        
    If lX4 And lY4 Then
            lResult 
    = lResult Xor &H80000000 Xor lX8 Xor lY8
        
    ElseIf lX4 Or lY4 Then
            
    If lResult And &H40000000 Then
                lResult 
    = lResult Xor &HC0000000 Xor lX8 Xor lY8
            
    Else
                lResult 
    = lResult Xor &H40000000 Xor lX8 Xor lY8
            
    End If
        
    Else
            lResult 
    = lResult Xor lX8 Xor lY8
        
    End If
     
        AddUnsigned 
    = lResult
    End Function

    Private Function md5_F(x, y, z)
        md5_F 
    = (x And y) Or ((Not x) And z)
    End Function

    Private Function md5_G(x, y, z)
        md5_G 
    = (x And z) Or (y And (Not z))
    End Function

    Private Function md5_H(x, y, z)
        md5_H 
    = (x Xor y Xor z)
    End Function

    Private Function md5_I(x, y, z)
        md5_I 
    = (y Xor (x Or (Not z)))
    End Function

    Private Sub md5_FF(a, b, c, d, x, s, ac)
        a 
    = AddUnsigned(a, AddUnsigned(AddUnsigned(md5_F(b, c, d), x), ac))
        a 
    = RotateLeft(a, s)
        a 
    = AddUnsigned(a, b)
    End Sub

    Private Sub md5_GG(a, b, c, d, x, s, ac)
        a 
    = AddUnsigned(a, AddUnsigned(AddUnsigned(md5_G(b, c, d), x), ac))
        a 
    = RotateLeft(a, s)
        a 
    = AddUnsigned(a, b)
    End Sub

    Private Sub md5_HH(a, b, c, d, x, s, ac)
        a 
    = AddUnsigned(a, AddUnsigned(AddUnsigned(md5_H(b, c, d), x), ac))
        a 
    = RotateLeft(a, s)
        a 
    = AddUnsigned(a, b)
    End Sub

    Private Sub md5_II(a, b, c, d, x, s, ac)
        a 
    = AddUnsigned(a, AddUnsigned(AddUnsigned(md5_I(b, c, d), x), ac))
        a 
    = RotateLeft(a, s)
        a 
    = AddUnsigned(a, b)
    End Sub

    Private Function ConvertToWordArray(sMessage)
        
    Dim lMessageLength
        
    Dim lNumberOfWords
        
    Dim lWordArray()
        
    Dim lBytePosition
        
    Dim lByteCount
        
    Dim lWordCount
        
        
    Const MODULUS_BITS = 512
        
    Const CONGRUENT_BITS = 448
        
        lMessageLength 
    = Len(sMessage)
        
        lNumberOfWords 
    = (((lMessageLength + ((MODULUS_BITS - CONGRUENT_BITS) \ 

    BITS_TO_A_BYTE)) 
    \ (MODULUS_BITS \ BITS_TO_A_BYTE)) + 1* (MODULUS_BITS \ 

    BITS_TO_A_WORD)
        
    ReDim lWordArray(lNumberOfWords - 1)
        
        lBytePosition 
    = 0
        lByteCount 
    = 0
        
    Do Until lByteCount >= lMessageLength
            lWordCount 
    = lByteCount \ BYTES_TO_A_WORD
            lBytePosition 
    = (lByteCount Mod BYTES_TO_A_WORD) * BITS_TO_A_BYTE
            lWordArray(lWordCount) 
    = lWordArray(lWordCount) Or LShift(Asc(Mid(sMessage, 

    lByteCount 
    + 11)), lBytePosition)
            lByteCount 
    = lByteCount + 1
        
    Loop

        lWordCount 
    = lByteCount \ BYTES_TO_A_WORD
        lBytePosition 
    = (lByteCount Mod BYTES_TO_A_WORD) * BITS_TO_A_BYTE

        lWordArray(lWordCount) 
    = lWordArray(lWordCount) Or LShift(&H80, lBytePosition)

        lWordArray(lNumberOfWords 
    - 2= LShift(lMessageLength, 3)
        lWordArray(lNumberOfWords 
    - 1= RShift(lMessageLength, 29)
        
        ConvertToWordArray 
    = lWordArray
    End Function

    Private Function WordToHex(lValue)
        
    Dim lByte
        
    Dim lCount
        
        
    For lCount = 0 To 3
            lByte 
    = RShift(lValue, lCount * BITS_TO_A_BYTE) And m_lOnBits(BITS_TO_A_BYTE - 1)
            WordToHex 
    = WordToHex & Right("0" & Hex(lByte), 2)
        
    Next
    End Function

    Public Function MD5(sMessage)
        m_lOnBits(
    0= CLng(1)
        m_lOnBits(
    1= CLng(3)
        m_lOnBits(
    2= CLng(7)
        m_lOnBits(
    3= CLng(15)
        m_lOnBits(
    4= CLng(31)
        m_lOnBits(
    5= CLng(63)
        m_lOnBits(
    6= CLng(127)
        m_lOnBits(
    7= CLng(255)
        m_lOnBits(
    8= CLng(511)
        m_lOnBits(
    9= CLng(1023)
        m_lOnBits(
    10= CLng(2047)
        m_lOnBits(
    11= CLng(4095)
        m_lOnBits(
    12= CLng(8191)
        m_lOnBits(
    13= CLng(16383)
        m_lOnBits(
    14= CLng(32767)
        m_lOnBits(
    15= CLng(65535)
        m_lOnBits(
    16= CLng(131071)
        m_lOnBits(
    17= CLng(262143)
        m_lOnBits(
    18= CLng(524287)
        m_lOnBits(
    19= CLng(1048575)
        m_lOnBits(
    20= CLng(2097151)
        m_lOnBits(
    21= CLng(4194303)
        m_lOnBits(
    22= CLng(8388607)
        m_lOnBits(
    23= CLng(16777215)
        m_lOnBits(
    24= CLng(33554431)
        m_lOnBits(
    25= CLng(67108863)
        m_lOnBits(
    26= CLng(134217727)
        m_lOnBits(
    27= CLng(268435455)
        m_lOnBits(
    28= CLng(536870911)
        m_lOnBits(
    29= CLng(1073741823)
        m_lOnBits(
    30= CLng(2147483647)
        
        m_l2Power(
    0= CLng(1)
        m_l2Power(
    1= CLng(2)
        m_l2Power(
    2= CLng(4)
        m_l2Power(
    3= CLng(8)
        m_l2Power(
    4= CLng(16)
        m_l2Power(
    5= CLng(32)
        m_l2Power(
    6= CLng(64)
        m_l2Power(
    7= CLng(128)
        m_l2Power(
    8= CLng(256)
        m_l2Power(
    9= CLng(512)
        m_l2Power(
    10= CLng(1024)
        m_l2Power(
    11= CLng(2048)
        m_l2Power(
    12= CLng(4096)
        m_l2Power(
    13= CLng(8192)
        m_l2Power(
    14= CLng(16384)
        m_l2Power(
    15= CLng(32768)
        m_l2Power(
    16= CLng(65536)
        m_l2Power(
    17= CLng(131072)
        m_l2Power(
    18= CLng(262144)
        m_l2Power(
    19= CLng(524288)
        m_l2Power(
    20= CLng(1048576)
        m_l2Power(
    21= CLng(2097152)
        m_l2Power(
    22= CLng(4194304)
        m_l2Power(
    23= CLng(8388608)
        m_l2Power(
    24= CLng(16777216)
        m_l2Power(
    25= CLng(33554432)
        m_l2Power(
    26= CLng(67108864)
        m_l2Power(
    27= CLng(134217728)
        m_l2Power(
    28= CLng(268435456)
        m_l2Power(
    29= CLng(536870912)
        m_l2Power(
    30= CLng(1073741824)


        
    Dim x
        
    Dim k
        
    Dim AA
        
    Dim BB
        
    Dim CC
        
    Dim DD
        
    Dim a
        
    Dim b
        
    Dim c
        
    Dim d
        
        
    Const S11 = 7
        
    Const S12 = 12
        
    Const S13 = 17
        
    Const S14 = 22
        
    Const S21 = 5
        
    Const S22 = 9
        
    Const S23 = 14
        
    Const S24 = 20
        
    Const S31 = 4
        
    Const S32 = 11
        
    Const S33 = 16
        
    Const S34 = 23
        
    Const S41 = 6
        
    Const S42 = 10
        
    Const S43 = 15
        
    Const S44 = 21

        x 
    = ConvertToWordArray(sMessage)
        
        a 
    = &H67452301
        b 
    = &HEFCDAB89
        c 
    = &H98BADCFE
        d 
    = &H10325476

        
    For k = 0 To UBound(x) Step 16
            AA 
    = a
            BB 
    = b
            CC 
    = c
            DD 
    = d
        
            md5_FF a, b, c, d, x(k 
    + 0), S11, &HD76AA478
            md5_FF d, a, b, c, x(k 
    + 1), S12, &HE8C7B756
            md5_FF c, d, a, b, x(k 
    + 2), S13, &H242070DB
            md5_FF b, c, d, a, x(k 
    + 3), S14, &HC1BDCEEE
            md5_FF a, b, c, d, x(k 
    + 4), S11, &HF57C0FAF
            md5_FF d, a, b, c, x(k 
    + 5), S12, &H4787C62A
            md5_FF c, d, a, b, x(k 
    + 6), S13, &HA8304613
            md5_FF b, c, d, a, x(k 
    + 7), S14, &HFD469501
            md5_FF a, b, c, d, x(k 
    + 8), S11, &H698098D8
            md5_FF d, a, b, c, x(k 
    + 9), S12, &H8B44F7AF
            md5_FF c, d, a, b, x(k 
    + 10), S13, &HFFFF5BB1
            md5_FF b, c, d, a, x(k 
    + 11), S14, &H895CD7BE
            md5_FF a, b, c, d, x(k 
    + 12), S11, &H6B901122
            md5_FF d, a, b, c, x(k 
    + 13), S12, &HFD987193
            md5_FF c, d, a, b, x(k 
    + 14), S13, &HA679438E
            md5_FF b, c, d, a, x(k 
    + 15), S14, &H49B40821
        
            md5_GG a, b, c, d, x(k 
    + 1), S21, &HF61E2562
            md5_GG d, a, b, c, x(k 
    + 6), S22, &HC040B340
            md5_GG c, d, a, b, x(k 
    + 11), S23, &H265E5A51
            md5_GG b, c, d, a, x(k 
    + 0), S24, &HE9B6C7AA
            md5_GG a, b, c, d, x(k 
    + 5), S21, &HD62F105D
            md5_GG d, a, b, c, x(k 
    + 10), S22, &H2441453
            md5_GG c, d, a, b, x(k 
    + 15), S23, &HD8A1E681
            md5_GG b, c, d, a, x(k 
    + 4), S24, &HE7D3FBC8
            md5_GG a, b, c, d, x(k 
    + 9), S21, &H21E1CDE6
            md5_GG d, a, b, c, x(k 
    + 14), S22, &HC33707D6
            md5_GG c, d, a, b, x(k 
    + 3), S23, &HF4D50D87
            md5_GG b, c, d, a, x(k 
    + 8), S24, &H455A14ED
            md5_GG a, b, c, d, x(k 
    + 13), S21, &HA9E3E905
            md5_GG d, a, b, c, x(k 
    + 2), S22, &HFCEFA3F8
            md5_GG c, d, a, b, x(k 
    + 7), S23, &H676F02D9
            md5_GG b, c, d, a, x(k 
    + 12), S24, &H8D2A4C8A
                
            md5_HH a, b, c, d, x(k 
    + 5), S31, &HFFFA3942
            md5_HH d, a, b, c, x(k 
    + 8), S32, &H8771F681
            md5_HH c, d, a, b, x(k 
    + 11), S33, &H6D9D6122
            md5_HH b, c, d, a, x(k 
    + 14), S34, &HFDE5380C
            md5_HH a, b, c, d, x(k 
    + 1), S31, &HA4BEEA44
            md5_HH d, a, b, c, x(k 
    + 4), S32, &H4BDECFA9
            md5_HH c, d, a, b, x(k 
    + 7), S33, &HF6BB4B60
            md5_HH b, c, d, a, x(k 
    + 10), S34, &HBEBFBC70
            md5_HH a, b, c, d, x(k 
    + 13), S31, &H289B7EC6
            md5_HH d, a, b, c, x(k 
    + 0), S32, &HEAA127FA
            md5_HH c, d, a, b, x(k 
    + 3), S33, &HD4EF3085
            md5_HH b, c, d, a, x(k 
    + 6), S34, &H4881D05
            md5_HH a, b, c, d, x(k 
    + 9), S31, &HD9D4D039
            md5_HH d, a, b, c, x(k 
    + 12), S32, &HE6DB99E5
            md5_HH c, d, a, b, x(k 
    + 15), S33, &H1FA27CF8
            md5_HH b, c, d, a, x(k 
    + 2), S34, &HC4AC5665
        
            md5_II a, b, c, d, x(k 
    + 0), S41, &HF4292244
            md5_II d, a, b, c, x(k 
    + 7), S42, &H432AFF97
            md5_II c, d, a, b, x(k 
    + 14), S43, &HAB9423A7
            md5_II b, c, d, a, x(k 
    + 5), S44, &HFC93A039
            md5_II a, b, c, d, x(k 
    + 12), S41, &H655B59C3
            md5_II d, a, b, c, x(k 
    + 3), S42, &H8F0CCC92
            md5_II c, d, a, b, x(k 
    + 10), S43, &HFFEFF47D
            md5_II b, c, d, a, x(k 
    + 1), S44, &H85845DD1
            md5_II a, b, c, d, x(k 
    + 8), S41, &H6FA87E4F
            md5_II d, a, b, c, x(k 
    + 15), S42, &HFE2CE6E0
            md5_II c, d, a, b, x(k 
    + 6), S43, &HA3014314
            md5_II b, c, d, a, x(k 
    + 13), S44, &H4E0811A1
            md5_II a, b, c, d, x(k 
    + 4), S41, &HF7537E82
            md5_II d, a, b, c, x(k 
    + 11), S42, &HBD3AF235
            md5_II c, d, a, b, x(k 
    + 2), S43, &H2AD7D2BB
            md5_II b, c, d, a, x(k 
    + 9), S44, &HEB86D391
        
            a 
    = AddUnsigned(a, AA)
            b 
    = AddUnsigned(b, BB)
            c 
    = AddUnsigned(c, CC)
            d 
    = AddUnsigned(d, DD)
        
    Next    
        MD5
    =LCase(WordToHex(b) & WordToHex(c))
    End Function
    %
    >

    '調用的時候如下:
    <!--#include file="uty/md5.asp"-->
    strings
    =md5(abc)

    =========驗證串==========
    <%
    Option Explicit
    Response.buffer
    =true
    NumCode
    Function NumCode()
        Response.Expires 
    = -1
        Response.AddHeader 
    "Pragma","no-cache"
        Response.AddHeader 
    "Cache-Control","no-cache"
        
    On Error Resume Next
        
    Dim zNum,i,j
        
    Dim Ados,Ados1
        
    Randomize timer
        zNum 
    = cint(8999*Rnd+1000)
        Session(
    "image_check"= zNum
        
    Dim zimg(4),NStr
        NStr
    =cstr(zNum)
        
    For i=0 To 3
            zimg(i)
    =cint(mid(NStr,i+1,1))
        
    Next
        
    Dim Pos
        
    Set Ados=Server.CreateObject("Adodb.Stream")
        Ados.Mode
    =3
        Ados.Type
    =1
        Ados.Open
        
    Set Ados1=Server.CreateObject("Adodb.Stream")
        Ados1.Mode
    =3
        Ados1.Type
    =1
        Ados1.Open
        Ados.LoadFromFile(Server.mappath(
    "image_code_body.Fix"))
        Ados1.write Ados.read(
    1280)
        
    For i=0 To 3
            Ados.Position
    =(9-zimg(i))*320
            Ados1.Position
    =i*320
            Ados1.write ados.read(
    320)
        
    Next    
        Ados.LoadFromFile(Server.mappath(
    "image_code_head.Fix"))
        Pos
    =lenb(Ados.read())
        Ados.Position
    =Pos
        
    For i=0 To 9 Step 1
            
    For j=0 To 3
                Ados1.Position
    =i*32+j*320
                Ados.Position
    =Pos+30*j+i*120
                Ados.write ados1.read(
    30)
            
    Next
        
    Next
        Response.ContentType 
    = "image/BMP"
        Ados.Position
    =0
        Response.BinaryWrite Ados.read()
        Ados.Close:
    set Ados=nothing
        Ados1.Close:
    set Ados1=nothing
        
    If Err Then Session("image_check"= 9999
    End Function
    'create image code function

    'Function image_getcode()
    '
      Dim test
    '
      On Error Resume Next
    '
      Set test=Server.CreateObject("Adodb.Stream")
    '
      Set test=Nothing
    '
      If Err Then
    '
        Dim zNum
    '
        Randomize timer
    '
        zNum=cint(8999*Rnd+1000)
    '
        Session("image_check") = zNum
    '
        image_getcode= Session("image_check")
    '
      Else
    '
        image_getcode="<img src=""uty/image_getcode.asp"">"
    '
      End If
    '
    End Function
    '
    上面這function可以放在uty.asp中.
    %>
    '另忘了還有兩個文件
    驗證的時候如下:
    <%
    user_id
    =trim(request("user_id"))
    user_pw
    =trim(request("user_pw"))
    num_check
    =trim(request("num_check"))
    if num_check<>cstr(Session("image_check")) then
      msg
    ="驗證碼不正確,請重新輸入."
        url
    ="login.asp"
    elseif user_id<>"" and user_pw<>"" then
      
    set conn=Openmdb()
        sql
    ="select * from [user] where user_id='"&user_id&"' and user_pw='"&md5(user_pw)&"'"
        
    set rs=conn.execute(sql)
      
    if not rs.eof then
        session(
    "user_id")=user_id
        session(
    "user_pw")=trim(rs("user_pw"))
          response.Redirect(
    "admin_index.asp")
      
    else
        url
    ="login.asp"
        msg
    ="使用者帳號或密碼錯誤!"
      
    end if
      rs.close()
      conn.close()
    else
      url
    ="login.asp"
    end if
    %
    >
    <script language="javascript">
    <%if msg<>"" then%>alert('<%=msg%>');<%end if%>
    location.href='<%=url%>';
    </script>

     

    申明

    非源创博文中的内容均收集自网上,若有侵权之处,请及时联络,我会在第一时间内删除.再次说声抱歉!!!

    博文欢迎转载,但请给出原文连接。

  • 相关阅读:
    winfrom 正则验证
    winfrom api发送消息,实现滚动效果(重绘滚动条用)
    C#程序员开发WinForm必须知道的 Window 消息大全
    C# VS EditorBrowsable特性 控制智能提示
    C# Attribute简介
    Win32窗口鼠标消息
    C# 自定义控件容器,设计时可添加控件
    Linux管线命令
    Linux数据流重定向
    Shell中的变量
  • 原文地址:https://www.cnblogs.com/Athrun/p/660731.html
Copyright © 2011-2022 走看看