谁帮我解释一下一段ASP代码
Function GetRndPassword(PasswordLen)
Dim Ran,i,strPassword
strPassword=""
For i=1 To PasswordLen
Randomize
Ran = CInt(Rnd * 2)
Randomize
If Ran = 0 Then
Ran = CInt(Rnd * 25) + 97
strPassword =strPassword & UCase(Chr(Ran))
ElseIf Ran = 1 Then
Ran = CInt(Rnd * 9)
strPassword = strPassword & Ran
ElseIf Ran = 2 Then
Ran = CInt(Rnd * 25) + 97
strPassword =strPassword & Chr(Ran)
End If
Next
GetRndPassword=strPassword
End Function
答案:我已经对你给出的代码加上了比较详细的注释,请自己阅读。=================================================================
'GetRndPassword是一个生成随机密码的函数
'PasswordLen参数代表密码长度
Function GetRndPassword(PasswordLen)
Dim Ran,i,strPassword
'初始化密码字符串为空
strPassword=""
'依次生成PasswordLen个密码字符
For i=1 To PasswordLen
'初始化随机种子
Randomize
'生成小于等于2的随机整数(只可能是0、1、2)
'三种不同的返回结果将确定当前的密码字符的三种生成方式
Ran = CInt(Rnd * 2)
'再次初始化随机种子
Randomize
'当Ran的取值为0时采用第一种密码字符生成方式
If Ran = 0 Then
'97为小写字母a的ASC码,则以下语句右边的表达式返回字母a到z之间的ASC码
Ran = CInt(Rnd * 25) + 97
'把上一步得到的ASC码转换为大写字母后添加到密码字符串的最后
strPassword =strPassword & UCase(Chr(Ran))
'当Ran的取值为1时采用第二种密码字符生成方式
ElseIf Ran = 1 Then
'以下语句右边的表达式返回0到9之间的随机整数
Ran = CInt(Rnd * 9)
'把上一步生成的随机整数添加到密码字符串的最后
strPassword = strPassword & Ran
'当Ran的取值为2时采用第三种密码字符生成方式
ElseIf Ran = 2 Then
'97为小写字母a的ASC码,则以下语句右边的表达式返回字母a到z之间的ASC码
Ran = CInt(Rnd * 25) + 97
'把上一步得到的ASC码转换为对应的字符(小写字母)后添加到密码字符串的最后
strPassword =strPassword & Chr(Ran)
End If
Next
'返回长度为PasswordLen的随机密码字符串
GetRndPassword=strPassword
End Function
这是一个定制随机密码的函数,函数参数是你需要的密码的长度,返回随机生成的密码。
飞翔,绝对是个高手啊!!分析的很详细啊!!!!佩服!!
Function GetRndPassword(PasswordLen) 定义随机密码函数
Dim Ran,i,strPassword
strPassword="" 密码初始化,
For i=1 To PasswordLen 循环定义随机密码的长度!
Randomize 随机生成大于2的密码函数
Ran = CInt(Rnd * 2) 再次初始化
Randomize 随机生成
If Ran = 0 Then 当RAN为0时的情况
Ran = CInt(Rnd * 25) + 97字符转换
strPassword =strPassword & UCase(Chr(Ran))
直接生成密码
ElseIf Ran = 1 Then 如果RAN取值为1
Ran = CInt(Rnd * 9) 生成的随机整数添加到密码字符串的最后
strPassword = strPassword & Ran 密码为上一步生成的随机整数+RAN
ElseIf Ran = 2 Then 如果RAN取值为2
Ran = CInt(Rnd * 25) + 97取值返回字母a到z
strPassword =strPassword & Chr(Ran)随机生成密码+RAN的值
End If 结束IF语句
Next 结束句
GetRndPassword=strPassword 将strPassword 赋与RAND
End Function 结束句!
上一个:本机测试网站,程序始终打不开ACC数据库,怎么办?
下一个:谁有空帮我修改一下这段ASP代码