У меня следующий код, из которого я извлекаю randomPW для своей базы данных.
Мне нужна эта строка случайных символов, чтобы использовать ее в качестве первичного ключа в моей базе данных. Проблема в том, что я получаю довольно много дубликатов, когда я выполняю этот код более одного раза или если я получаю цикл для извлечения (например) 100 ключей одновременно.
Если я пытаюсьперезагрузите страницу, чтобы вставить один за другим ключ, возникает та же проблема ... каждые 50-80 перезагрузок появляется дубликат. Можете ли вы сказать мне, что не так с моим кодом?
<%
Function RandomPW(myLength)
Const minLength = 6
Const maxLength = 20
Dim X, Y, strPW
If myLength = 0 Then
Randomize
myLength = Int((maxLength * Rnd) + minLength)
End If
For X = 1 To myLength
Y = Int((3 * Rnd) + 1) '(1) Numeric, (2) Uppercase, (3) Lowercase
Select Case Y
Case 1
'Numeric character
Randomize
strPW = strPW & CHR(Int((9 * Rnd) + 48))
Case 2
'Uppercase character
Randomize
strPW = strPW & CHR(Int((25 * Rnd) + 65))
Case 3
'Lowercase character
Randomize
strPW = strPW & CHR(Int((25 * Rnd) + 97))
End Select
Next
RandomPW = strPW
End Function
%>
Я ожидаю, что мой код будет извлекать жало, которое не будет время от времени дублировать.