asp 随机产生用户密码
- 作者:佚名 来源:互联网 文章点击数:
说明:通过随机产生密码,然后将密码EMail给注册用户,你可以确认用户的EMail填写是否正确。自动产生的密码往往安全性更高,同时,你可以过滤那些无效的用户。
把下面的代码保存为random.asp文件:
〈%
Sub StrRandomize(strSeed)
Dim i, nSeed
nSeed = CLng(0)
For i = 1 To Len(strSeed)
nSeed = nSeed Xor ((256 * ((i - 1) Mod 4) * AscB(Mid(strSeed, i, 1))))
Next
Randomize nSeed
End Sub
Function GeneratePassword(nLength)
Dim i, bMadeConsonant, c, nRnd
Const strDoubleConsonants = "bdfglmnpst"
Const strConsonants = "bcdfghklmnpqrstv"
Const strVocal = "aeiou"
GeneratePassword = ""
bMadeConsonant = False
For i = 0 To nLength
nRnd = Rnd
If GeneratePassword 〈〉 "" 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
End If
End If
GeneratePassword = GeneratePassword & c
Next
If Len(GeneratePassword) 〉 nLength Then
GeneratePassword = Left(GeneratePassword, nLength)
End If
End Function
%〉
然后在你的目标程序中这样调用上面的代码,就可以实现密码的自动生成:(仅仅是一个例子,你可以把他们粘贴到一个Test.asp的文件中,然后运行Test.asp)
〈!--include file="random.asp" --〉
〈%
’产生一个六位的密码
StrRandomize CStr(Now) & CStr(Rnd)
response.write GeneratePassword(6)
%〉
〈br〉〈br〉
〈%
’产生一个8位的密码
StrRandomize CStr(Now) & CStr(Rnd)
response.write GeneratePassword(8)
%〉
〈br〉〈br〉
〈%
’产生一个10位的密码
StrRandomize CStr(Now) & CStr(Rnd)
response.write GeneratePassword(10)
%〉
〈br〉〈br〉
〈%
’产生1000个密码
dim t, t2
for t = 1 to 500
For t2 = 1 to 661
StrRandomize CStr(Now) & CStr(Rnd)
next
StrRandomize CStr(Now) & CStr(Rnd)
response.write GeneratePassword(6)
response.write "〈br〉"
next
%〉
- 相关文章
| ·ASP+与ASP有什么不同 | 07-14 |
| ·MySQL UPDATE时主键冲突引发的思考 | 07-12 |
| ·SQL Server大数据量统计系统的经验总结 | 07-11 |
| ·Asp.Net中动态页面转静态页面 | 07-08 |
| ·Asp.net 备份和还原SQL Server及压缩Access数据库 | 07-08 |
| ·从IIS的ASP迁移到APACHE的PHP的方法 | 07-07 |
| ·关于IIS7.0出错的解决方案 | 07-05 |
| ·全面解析Server对象 | 07-04 |
