ASP函数库(全部可以直接调用,非常方便) 7

'**************************************************
'函数ID:0041[生成随机密码]
'函数名:MakeRndPass
'作 用:生成随机密码
'参 数:passlen ---- 要生成的密码长度
'参 数:passtype ---- 要生成的密码类型
'返回值:验证生成的随机密码
'类型解释:
'passfull (所在可用字符 如“90!@#$%”)
'passnumber (纯数字)
'passspecial (非常用字符)
'passCharNumber (所有字母及数字)
'passUpperCharNumber (大写字母数字)
'passLowerCharNumber (小写字母数字)
'passChar (所有大小写字母)
'passUpperChar (所有大写字母)
'passLowerChar (所有小写字母)
'示 例:MakeRndPass(4,"passUpperCharNumber")
'**************************************************
Public Function MakeRndPass(ByVal passlen,ByVal passtype)
dim passFull,passNumber,passSpecial,passCharNumber,passChar,pass,passUpperCharNumber,passLowerCharNumber,passUpperChar,passLowerChar,ii,jj
passFull = "1234567890!@#$%^&*()[];',./{}:?`~-=\_+|abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
passNumber = "1234567890"
passSpecial = "!@#$%^&*()[];',./{}:?`~-=\_+|"
passCharNumber = "abcdefghijklmnopqrstuvwxyz1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ"
passUpperCharNumber = "1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ"
passLowerCharNumber = "abcdefghijklmnopqrstuvwxyz1234567890"
passChar = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
passUpperChar = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
passLowerChar = "abcdefghijklmnopqrstuvwxyz"
select case lcase(trim(passType))
case "passfull"
pass = passFull
case "passnumber"
pass = passNumber
case "passspecial"
pass = passSpecial
case "passcharnumber"
pass = passCharNumber
case "passchar"
pass = passChar
case "passupperchar"
pass = passUpperChar
case "passlowerchar"
pass = passLowerChar
case "passuppercharnumber"
pass = passUpperCharNumber
case "passlowercharnumber"
pass = passLowerCharNumber
case else
pass = passlowercharnumber
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"
If UCase(NeFilarry(1))="Z" Then templx="Int"
If SqlType =1 Then
def_kh_l="('"
def_kh_r="')"
End If
If Trim(NeFilarry(3))<>"" Then templx=templx &" DEFAULT " & def_kh_l & Trim(NeFilarry(3)) & def_kh_r
If ai<>UBound(filsarry) Then
spfstr= spfstr & "[" & NeFilarry(0) & "] " & templx &","
Else
spfstr= spfstr & "[" & NeFilarry(0) & "] " & templx
End If
Next
TempSqlStr="CREATE TABLE ["&Trim(Tabnamestr)&"] (" & spfstr & ")"
set fu_Conn=server.createobject("ADODB.Connection")
fu_Conn.open ConnStrs
fu_Conn.Execute TempSqlStr
fu_Conn.Close
Set fu_Conn=Nothing
If Err.Number = 0 Then
CreatTable=True
End If
On Error GoTo 0
End Function
'**************************************************

posted @ 2008-03-11 13:44  Lee Vane  阅读(318)  评论(0)    收藏  举报