随机产生32位数 然后写入数据库 结果产生的都是一样的!
For i = 1 To x
code = obj.RandomPasswd(32)
sqlstr = "insert into code(shellcode) values ( ' " & code & " ') "
obj.fill(sqlstr)
Next
'===================================================================
'函数名: GetCode
'功能描述:
'输入参数
'创建时间:2007.4.11
'修改时间:2007.4.11
'====================================================================
Public Function RandomPasswd(ByVal intLength As Integer) As String
Dim strPasswd As String = " "
Dim intNum As Integer = 0
Dim objRandom As Random = New Random
For i As Integer = 0 To intLength - 1
intNum = objRandom.Next(3)
If intNum = 0 Then
strPasswd += Chr(objRandom.Next(10) + 48).ToString()
ElseIf intNum = 1 Then
strPasswd += Chr(objRandom.Next(26) + 65).ToString()
Else
strPasswd += Chr(objRandom.Next(26) + 97).ToString()
End If
Next
Return strPasswd
End Function
感谢刚才技术支持的人
------解决方案--------------------不要每次都new 一个random
从头到尾只new 一次
每次用next取值
------解决方案--------------------因为 Random 出来的是伪随机数,时间间隔太短容易出你这种情况。
可以使用指定的种子值初始化 Random 类的新实例。
Dim objRandom As Random = New Random
改为:
Dim objRandom As Random = New Random(Convert.ToInt32(DateTime.Now.Ticks)