乐府诗个人博客 >> ASP >> 字符加解密

字符加解密

'**************************************************
  '函数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

下列内容与有着内在的联系,建议您一并阅读。

公益广告