数学建模社区-数学中国

标题: ASP生成随机密码的又一种方法 [打印本页]

作者: 韩冰    时间: 2004-10-5 16:53
标题: ASP生成随机密码的又一种方法

dim char_array(35)

4 M z0 S6 N1 t" ~+ T9 E

char_array(0) = '0'

, n" D6 j! B% \7 B4 E# d

char_array(1) = '1'

4 u4 A" ^- p% y5 Q

char_array(2) = '2'

. h& P/ e6 A' Z6 ?' R' j6 W, Y

char_array(3) = '3'

- Q7 _) O& l I# I( `$ H; F& a

char_array(4) = '4'

7 v+ s, W0 O6 G5 O3 D

char_array(5) = '5'

- V6 w$ B$ W- Y$ s% Z1 g# D+ p

char_array(6) = '6'

7 G$ B1 H) y+ B* u! J+ h8 ^* l

char_array(7) = '7'

' d0 s: r, n, s# N, s

char_array(8) = '8'

: F% j* R) o: q; @2 S2 J5 r% c

char_array(9) = '9'

, k! P, L8 k4 v9 S. y

char_array(10) = 'A'

/ H& K$ G! Y G5 N! k

char_array(11) = 'B'

, C5 @1 g+ A9 T/ z% n$ t

char_array(12) = 'C'

1 a0 V. A) k% O" u

char_array(13) = 'D'

! @1 V4 n0 _/ [2 M" X$ k" Q- g

char_array(14) = 'E'

[) F7 B2 j' F( ?- t. h

char_array(15) = 'F'

- B$ \! r" r* W* M

char_array(16) = 'G'

+ ?9 C5 l7 c2 Q2 D

char_array(17) = 'H'

% ^- U2 Y1 k' ?

char_array(18) = 'I'

0 t% {, Z' X2 S" P

char_array(19) = 'J'

' ` s: o4 g0 x$ `* O

char_array(20) = 'K'

# z# m V( p, T

char_array(21) = 'L'

O$ \2 s/ t) Y0 \

char_array(22) = 'M'

, f" P$ V1 k6 \$ S. Z# U8 K( L

char_array(23) = 'N'

: n' I3 u; n$ O* A# v1 V, `2 n

char_array(24) = 'O'

: G7 Z; \2 q$ K1 O/ w: V8 l

char_array(25) = 'P'

% _: ~4 y5 Y& B

char_array(26) = 'Q'

7 @8 [$ R; L9 c" `

char_array(27) = 'R'

( {) L$ x( `1 i8 W

char_array(28) = 'S'

8 F" s( _) x* P+ w

char_array(29) = 'T'

}( w: ^& W# A% L: q& P* ]

char_array(30) = 'U'

" l% q1 x+ W( a/ v5 a( ^, t5 j& U

char_array(31) = 'V'

- z/ {8 N: \+ N/ j$ n1 ^3 n

char_array(32) = 'W'

, _- i" _$ t4 g7 W* e2 R

char_array(33) = 'X'

2 S) w2 M4 |6 L! ~: P- `, o

char_array(34) = 'Y'

& I1 K) p* K3 U ^4 ]

char_array(35) = 'Z'

+ G$ E; e F8 ?0 J9 c6 R0 L5 O

randomize

9 a* P& v% i, @6 g/ ?* {

do while len(output) num = char_array(Int(35 * Rnd + 0))

3 u3 P7 E( y6 @8 }3 v0 s

output = output + num

$ c+ _5 h; ^+ E

loop

: n+ f! |) b0 s) e

gen_key = output

! b9 ]% X; x& U) K' I" s* E

End Function

9 z- i0 y1 Z" u9 T

response.write '随机密码是:' & gen_key(10)

2 _; R o/ X; |1 a' c/ Q* @$ i

这是一个生成随机数的通用函数,我们首先将所有可能的字符保存在数组内,这里的例子是0-9及26个英文字符,共36个字符。注意数组下标是从0开始的,所以dim char_array(35),其实表示有36个字符。注意:本例没有专门区分字母的大小写,如果你还要加上“大小写敏感/区分大小写”特性的话,修改数组大小为char_array(50),然后在后面列出所有可能的小写字符。例如:

( S' b) l$ v4 I. a3 ^) J W5 _

char_array(36) = 'a'

6 [) j6 ]$ I+ Z% z2 K: T

char_array(37) = 'b'

6 q8 b) p/ N, b; B' |! @+ ^6 m, m9 _9 v

...............类推

/ p$ f/ O8 B3 _

注意这是一个可以通用的函数,gen_key(digits)它传进一个参数digits,代表要生成的随机密码位数。今后要生成20为密码就用gen_key(20)即可打印出密码,或者将它保存在数据库内。


作者: 兄弟    时间: 2010-7-16 23:54
强悍啊




欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5