asp常用的代码

来源:互联网 发布:公司网络dns被劫持 编辑:程序博客网 时间:2024/05/17 05:09

 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 + 1, 1)), 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>