随机产生用户密码(good),说明:通过随机产生密码,然后将密码EMail给注册用户,你可以确认用户的EMail填写是否正确。
说明:通过随机产生密码,然后将密码EMail给注册用户,你可以确认用户的EMail填写是否正确。自动产生的密码往往安全性更高,同时,你可以过滤那些无效的用户。
把下面的代码保存为random.asp文件:
复制代码 代码如下:
<%
SubStrRandomize(strSeed)
Dimi,nSeed
nSeed=CLng(0)
Fori=1ToLen(strSeed)
nSeed=nSeedXor((256*((i-1)Mod4)*AscB(Mid(strSeed,i,1))))
Next
RandomizenSeed
EndSub
FunctionGeneratePassword(nLength)
Dimi,bMadeConsonant,c,nRnd
ConststrDoubleConsonants="bdfglmnpst"
ConststrConsonants="bcdfghklmnpqrstv"
ConststrVocal="aeiou"
GeneratePassword=""
bMadeConsonant=False
Fori=0TonLength
nRnd=Rnd
IfGeneratePassword<>""AND(bMadeConsonant<>True)AND(nRnd<0.15)Then
c=Mid(strDoubleConsonants,Int(Len(strDoubleConsonants)*Rnd+1),1)
c=c&c
i=i+1
bMadeConsonant=True
Else
If(bMadeConsonant<>True)And(nRnd<0.95)Then
c=Mid(strConsonants,Int(Len(strConsonants)*Rnd+1),1)
bMadeConsonant=True
Else
c=Mid(strVocal,Int(Len(strVocal)*Rnd+1),1)
bMadeConsonant=False
EndIf
EndIf
GeneratePassword=GeneratePassword&c
Next
IfLen(GeneratePassword)>nLengthThen
GeneratePassword=Left(GeneratePassword,nLength)
EndIf
EndFunction
%>
然后在你的目标程序中这样调用上面的代码,就可以实现密码的自动生成:(仅仅是一个例子,你可以把他们粘贴到一个Test.asp的文件中,然后运行Test.asp)
复制代码 代码如下:
<>
<%
'产生一个六位的密码
StrRandomizeCStr(Now)&CStr(Rnd)
response.writeGeneratePassword(6)
%>
<br><br>
<%
'产生一个8位的密码
StrRandomizeCStr(Now)&CStr(Rnd)
response.writeGeneratePassword(8)
%>
<br><br>
<%
'产生一个10位的密码
StrRandomizeCStr(Now)&CStr(Rnd)
response.writeGeneratePassword(10)
%>
<br><br>
<%
'产生1000个密码
dimt,t2
fort=1to500
Fort2=1to661
StrRandomizeCStr(Now)&CStr(Rnd)
next
StrRandomizeCStr(Now)&CStr(Rnd)
response.writeGeneratePassword(6)
response.write"<br>"
next
%>