求asp 一次生成多条 英文+数字的随即码 程序
随即码生成的格式、长度可以自己定义.例如一个15位的随即码:EEDLV8654397434,哪位仁兄有这个程序帮忙给小弟发一下...小弟感激不尽。...
随即码生成的格式、长度可以自己定义.例如一个15位的随即码:EEDLV8654397434,哪位仁兄有这个程序帮忙给小弟发一下...小弟感激不尽。
展开
2个回答
展开全部
<%
Function gen_key(digits)
dim char_array(35)
char_array(0) = "0"
char_array(1) = "1"
char_array(2) = "2"
char_array(3) = "3"
char_array(4) = "4"
char_array(5) = "5"
char_array(6) = "6"
char_array(7) = "7"
char_array(8) = "8"
char_array(9) = "9"
char_array(10) = "A"
char_array(11) = "B"
char_array(12) = "C"
char_array(13) = "D"
char_array(14) = "E"
char_array(15) = "F"
char_array(16) = "G"
char_array(17) = "H"
char_array(18) = "I"
char_array(19) = "J"
char_array(20) = "K"
char_array(21) = "L"
char_array(22) = "M"
char_array(23) = "N"
char_array(24) = "O"
char_array(25) = "P"
char_array(26) = "Q"
char_array(27) = "R"
char_array(28) = "S"
char_array(29) = "T"
char_array(30) = "U"
char_array(31) = "V"
char_array(32) = "W"
char_array(33) = "X"
char_array(34) = "Y"
char_array(35) = "Z"
randomize
do while len(output) < digits
num = char_array(Int(35 * Rnd + 0))
output = output + num
loop
gen_key = output
End Function
%>
gen_key(str) ’str为密码位数
这个函数还能扩展。。如果你还要加上“大小写敏感区分大小写”特性的话,修改数组大小为char_array(50),然后在后面列出所有可能的小写字符。例如:
char_array(36) = "a"
char_array(37) = "b"
注意这是一个可以通用的函数,gen_key(digits)它传进一个参数digits,代表要生成的随机密码位数。今后要生成20为密码就用gen_key(20)即可打印出密码,或者将它保存在数据库内。
如果你的想得到EEDLV8654397434这样的随机码,可以定义两个,一个是取字母,一个取数字,然后再拼接起来,就OK了
Function gen_key(digits)
dim char_array(35)
char_array(0) = "0"
char_array(1) = "1"
char_array(2) = "2"
char_array(3) = "3"
char_array(4) = "4"
char_array(5) = "5"
char_array(6) = "6"
char_array(7) = "7"
char_array(8) = "8"
char_array(9) = "9"
char_array(10) = "A"
char_array(11) = "B"
char_array(12) = "C"
char_array(13) = "D"
char_array(14) = "E"
char_array(15) = "F"
char_array(16) = "G"
char_array(17) = "H"
char_array(18) = "I"
char_array(19) = "J"
char_array(20) = "K"
char_array(21) = "L"
char_array(22) = "M"
char_array(23) = "N"
char_array(24) = "O"
char_array(25) = "P"
char_array(26) = "Q"
char_array(27) = "R"
char_array(28) = "S"
char_array(29) = "T"
char_array(30) = "U"
char_array(31) = "V"
char_array(32) = "W"
char_array(33) = "X"
char_array(34) = "Y"
char_array(35) = "Z"
randomize
do while len(output) < digits
num = char_array(Int(35 * Rnd + 0))
output = output + num
loop
gen_key = output
End Function
%>
gen_key(str) ’str为密码位数
这个函数还能扩展。。如果你还要加上“大小写敏感区分大小写”特性的话,修改数组大小为char_array(50),然后在后面列出所有可能的小写字符。例如:
char_array(36) = "a"
char_array(37) = "b"
注意这是一个可以通用的函数,gen_key(digits)它传进一个参数digits,代表要生成的随机密码位数。今后要生成20为密码就用gen_key(20)即可打印出密码,或者将它保存在数据库内。
如果你的想得到EEDLV8654397434这样的随机码,可以定义两个,一个是取字母,一个取数字,然后再拼接起来,就OK了
追问
十分感谢,小弟还有个问题需要请教下...如果我想一下生成100条以上而且还没有重复的随即码,程序能实现吗?
追答
可以啊,我说一个简单的方法吧,你可以把得到的随机码用字符串拼接起来,中间你可以搞一个分隔符隔开来,当你生成一个随机码的时候,在你这个字符里查找一下,如果找到,就跳过,如果没有,就拼接上去,请记得你拼接的时候搞一个变量计算已经拼了多少个,如果达到了你要拼接的个数,就OK了
我只是说了一个思路,具体你去实现一下看看
可能还有更好的办法,你可以自己再想想看。
展开全部
function gen_key(digits)
’定义并初始化数组
dim char_array(80)
’初始化数字
for i = 0 to 9
char_array(i) = cstr(i)
next
’初始化大写字母
for i = 10 to 35
char_array(i) = chr(i + 55)
next
’初始化小写字母
for i = 36 to 61
char_array(i) = chr(i + 61)
next
randomize ’初始化随机数生成器。
do while len(output) < digits
num = char_array(int((61 - 0 + 1) * rnd + 0))
output = output + num
loop
’设置返回值
gen_key = output
end function
使用方法:
把结果返回给浏览器
response.write "本实例生成的十三位随机字符串为:"
response.write "<center>"
response.write gen_key(13) ‘这里可以更改长度
response.write "</center>"
’定义并初始化数组
dim char_array(80)
’初始化数字
for i = 0 to 9
char_array(i) = cstr(i)
next
’初始化大写字母
for i = 10 to 35
char_array(i) = chr(i + 55)
next
’初始化小写字母
for i = 36 to 61
char_array(i) = chr(i + 61)
next
randomize ’初始化随机数生成器。
do while len(output) < digits
num = char_array(int((61 - 0 + 1) * rnd + 0))
output = output + num
loop
’设置返回值
gen_key = output
end function
使用方法:
把结果返回给浏览器
response.write "本实例生成的十三位随机字符串为:"
response.write "<center>"
response.write gen_key(13) ‘这里可以更改长度
response.write "</center>"
参考资料: http://www.aspxhome.com/asp/examples/20078/5574.htm
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询