ASP生成随机密码的代码

昨天Perry问我要一些随机密码,用来加密ePaySlip的文件。我从网上找了一些现有的ASP代码和函数,发现不能达到Perry的要求:
1、包含大小写字母
2、包含数字
3、包含特殊字符

于是自己修改做了下面的函数,可以生成任意位数的随机密码。没想到今天Perry今天跟我要16位的密码,10000个。索性分享出来代码给朋友们。

<br/><%<br/>Function CreatePassword(digits)<br/>dim myarray(75)<br/>myarray(0) = "0"<br/>myarray(1) = "1"<br/>myarray(2) = "2"<br/>myarray(3) = "3"<br/>myarray(4) = "4"<br/>myarray(5) = "5"<br/>myarray(6) = "6"<br/>myarray(7) = "7"<br/>myarray(8) = "8"<br/>myarray(9) = "9"<br/>myarray(10) = "A"<br/>myarray(11) = "B"<br/>myarray(12) = "C"<br/>myarray(13) = "D"<br/>myarray(14) = "E"<br/>myarray(15) = "F"<br/>myarray(16) = "G"<br/>myarray(17) = "H"<br/>myarray(18) = "I"<br/>myarray(19) = "J"<br/>myarray(20) = "K"<br/>myarray(21) = "L"<br/>myarray(22) = "M"<br/>myarray(23) = "N"<br/>myarray(24) = "O"<br/>myarray(25) = "P"<br/>myarray(26) = "Q"<br/>myarray(27) = "R"<br/>myarray(28) = "S"<br/>myarray(29) = "T"<br/>myarray(30) = "U"<br/>myarray(31) = "V"<br/>myarray(32) = "W"<br/>myarray(33) = "X"<br/>myarray(34) = "Y"<br/>myarray(35) = "Z"<br/>myarray(36) = "a"<br/>myarray(37) = "b"<br/>myarray(38) = "c"<br/>myarray(39) = "d"<br/>myarray(40) = "e"<br/>myarray(41) = "f"<br/>myarray(42) = "g"<br/>myarray(43) = "h"<br/>myarray(44) = "i"<br/>myarray(45) = "j"<br/>myarray(46) = "k"<br/>myarray(47) = "l"<br/>myarray(48) = "m"<br/>myarray(49) = "n"<br/>myarray(50) = "o"<br/>myarray(51) = "p"<br/>myarray(52) = "q"<br/>myarray(53) = "r"<br/>myarray(54) = "s"<br/>myarray(55) = "t"<br/>myarray(56) = "u"<br/>myarray(57) = "v"<br/>myarray(58) = "w"<br/>myarray(59) = "x"<br/>myarray(60) = "y"<br/>myarray(61) = "z"<br/>myarray(62) = "!"<br/>myarray(63) = "@"<br/>myarray(64) = "#"<br/>myarray(65) = "$"<br/>myarray(66) = "%"<br/>myarray(67) = "&"<br/>myarray(68) = "*"<br/>myarray(69) = "("<br/>myarray(70) = ")"<br/>myarray(71) = "+"<br/>myarray(72) = "-"<br/>myarray(73) = "-"<br/>myarray(74) = "^"<br/><br/>randomize<br/>do while len(output) < digits<br/>num = myarray(Int(75 * Rnd + 0))<br/>output = output + num<br/>loop<br/>CreatePassword = output<br/>End Function<br/>%><br/><%<br/>for i=1 to 10000<br/>response.Write(CreatePassword(16)&"<br>")<br/>next<br/>%><br/>

发表评论

您的电子邮箱地址不会被公开。

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据