Function designed to generate a extremely random alphanumeric key
Number of possible different combinations with defined array and digits
set to 13, is 36 to 13 power which is 170,581,728,179,578,208,256
unique combinations, this should be adequate for most applications.
Writen by Frederick S. Kania E-Mail: fkania@mich.com
This script is very easy to modify to your needs, I needed this for a
certificate generation system which needed a very unique code which I
could use to pass to a SQL DB. I am currently using this function
and setting the returned value as a unique key in the DB. I am also
checking the DB to verify the number does not exist to make sure I do
not get any errors/duplicates.
I don't know that anyone would need any more than this amount of
combinations, but you could increase the array to be case sensitive,
which would raise your randomness to array size raised to the amount of
digits required.
Define gen_key function where digits is the number of digits needed in
your random string
<%
Function gen_key(digits)
'Create and define array
dim char_array(50)
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"
'Initiate randomize method for default seeding
randomize
'Loop through and create the output based on the the variable passed to
'the function for the length of the key.
do while len(output) < digits
num = char_array(Int((35 - 0 + 1) * Rnd + 0))
output = output + num
loop
'Set return
gen_key = output
End Function
'Write the results to the browser, currently setting a 13 digit key
response.write "<pre>" & gen_key(13) & "</pre>" & vbcrlf
%>