--2007-6-18 18:48:38
字符加解密
'**************************************************'函数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
相关内容
下列内容与有着内在的联系,建议您一并阅读。