Linux中国 Linux中国门户站!
设为主页 设为主页
收藏本站 收藏本站
 
当前位置 :首页 ->编程语言 ->ASP ->正文

ASP函数库

来源:Linuxdby.com 作者:Webmaster 时间:2007-05-31 点击: [收藏] [投稿]

  end select
  makeRndPass=""
  for ii=1 to cint(passlen)
      randomize
      jj = int(rnd()*len(pass)+1)
      makeRndPass = cstr(makeRndPass) & mid(pass,jj,1)
  next
End Function
'**************************************************
'函数ID:0042[字符加解密]
'函数名:addmw
'作 用:字符加解密
'参 数:nyw  ---- 被加密的字符
'返回值:加密后的字符
'示 例:
'**************************************************
Public Function addmw(ByVal nyw)
  addmw=""
  On Error GoTo 0
  On Error Resume Next
  rndChararray = "abcdefghijklmnopqrstuvwxyz1234567890"
  randomize
  keya=Mid(rndChararray,int(rnd()*35)+1,1)
  keyb=Mid(rndChararray,int(rnd()*35)+1,1)
  temp=""
  newStr=""
  For i=1 to len(nyw)
      temp=Mid(nyw,i,1)
      bLowChr=AscB(MidB(temp, 1, 1)) Xor asc(keya)
      bHigChr=AscB(MidB(temp, 2, 1)) Xor asc(keyb)
      newStr=newStr & ChrB(bLowChr) & ChrB(bHigChr)
  Next
  bLowChr=AscB(MidB(keyb, 1, 1)) Xor 100
  bHigChr=AscB(MidB(keyb, 2, 1)) Xor 20
  keyb=ChrB(bLowChr) & ChrB(bHigChr)
  bLowChr=AscB(MidB(keya, 1, 1)) Xor 128
  bHigChr=AscB(MidB(keya, 2, 1)) Xor 18
  keya=ChrB(bLowChr) & ChrB(bHigChr)
  newStr=keyb & keya & StrReverse(newStr)
  If Err.Number = 0 Then
       addmw=CodeCookie(newStr)
  End If
  On Error GoTo 0
End Function
'**************************************************
'函数ID:0043[解密字符加解密]
'函数名:exmw
'作 用:解密字符加解密
'参 数:nmw  ---- 加密的字符
'返回值:解密加密后的字符
'示 例:
'**************************************************
Public Function exmw(ByVal nmw)
  exmw=""
  On Error GoTo 0
  On Error Resume Next
  Dim keya,keyb,newStr,temp
  nmw=DecodeCookie(nmw)
  keya=Mid(nmw,2,1)
  keyb=Mid(nmw,1,1)
  bLowChr=ChrB(AscB(MidB(keya, 1, 1)) Xor 128)
  bHigChr=ChrB(AscB(MidB(keya, 2, 1)) Xor 18)
  keya=bLowChr & bHigChr
  bLowChr=ChrB(AscB(MidB(keyb, 1, 1)) Xor 100)
  bHigChr=ChrB(AscB(MidB(keyb, 2, 1)) Xor 20)
  keyb=bLowChr & bHigChr
  Str=StrReverse(Mid(nmw,3,len(nmw)))
  newStr=""
  temp=""
  For i=1 to len(Str)
      temp=Mid(Str,i,1)
      bLowChr=AscB(MidB(temp, 1, 1)) Xor asc(keya)
      bHigChr=AscB(MidB(temp, 2, 1)) Xor asc(keyb)
      newStr=newStr & ChrB(bLowChr) & ChrB(bHigChr)
  Next
  If Err.Number = 0 Then
       exmw=newStr
  End If
  On Error GoTo 0
End Function
'**************************************************
'函数ID:0044[创建数据表]
'函数名:CreatTable
'作 用:创建数据表
'参 数:ConnStrs    ---- 数据库链接字串
'参 数:Tabnamestr  ---- 数据表名称
'参 数:CvArrstr    ---- 字段表 (写法: Fname1#Type#Len#Defvalue|Fname1#Type#Len#Defvalue|...) 最后一个不要写“|”
'参 数:SqlType     ---- Sql语句类型 (0 Access 1 Mssqlserver)
' Fname,Type,Len,Defvalue 说明:字段名称,字段类型,字段长度,默认值
'字段类型 Type C/c 字符 T/t 文本 I/i 二进制 D/d 日期 M/m 关键字(字符型) A/a 关键字自动编号(数值型) N/n 数值(float) Z/z 数值(int)
'返回值:如果建立成功返回 True 否则 False
'示 例:CreatTable(basicDB(3),"cs","fa#t##|fb#c#20#a|fc#n##5",0)
'**************************************************
Public Function CreatTable(ByVal ConnStrs,ByVal Tabnamestr,ByVal CvArrstr,ByVal SqlType)
  CreatTable=False
  On Error GoTo 0
  On Error Resume Next
  Dim filsarry,NeFilarry,Filstr,spfstr,templx,def_kh_l,def_kh_r,TempSqlStr
  def_kh_l=""
  def_kh_r=""
  Filstr=""
  spfstr=""
  TempSqlStr=""
  filsarry=Split(CvArrstr,"|")
  For ai = LBound(filsarry) To UBound(filsarry)
      NeFilarry=Split(filsarry(ai),"#")
      templx=""
      If UCase(NeFilarry(1))="C" Then templx="varchar(" & NeFilarry(2) & ")"
      If UCase(NeFilarry(1))="T" Then templx="TEXT"
      If UCase(NeFilarry(1))="I" Then templx="image"
      If UCase(NeFilarry(1))="D" Then templx="datetime"
      If UCase(NeFilarry(1))="M" Then templx="varchar(" & NeFilarry(2) & ") NOT NULL PRIMARY KEY"
      If UCase(NeFilarry(1))="A" Then templx="Int IDENTITY (1,1) NOT NULL PRIMARY KEY"
      If UCase(NeFilarry(1))="N" Then templx="Float"

 如果您对本文有任何疑问或者建议,请到讨论区发表您的意见: >> 论坛入口 <<



上一篇:SubSonic 的字段名未转义问题修正   下一篇:关于分页查询和性能问题

文章评论】 【收藏本文】 【推荐好友】 【打印本文】 【我要投稿】 【论坛讨论
更多相关文章
Power by linux-cn.com 粤ICP备05006655号