生成长度为 25 个字符的 unquie ID(无特殊字符)的最佳方法是什么?我正在考虑生成一个 GUID 并获取它的子字符串,但我不知道这是否是唯一性的最佳想法。
这适用于断开连接的系统使用。在我的情况下,在数据库中创建主键不起作用。我需要手动创建一个 unquie ID
我试过了,但由于某种原因,我在输出中看到了重复项。因此,即使在这个简单的测试中,它似乎也不会太不安..
Sub Main()
Dim sb As StringBuilder = New StringBuilder
For i As Integer = 1 To 100000
Dim s As String = GenerateRandomString(25, True)
sb.AppendLine(s)
sb.AppendLine(Environment.NewLine)
Next
Console.WriteLine(sb.ToString)
Console.ReadLine()
End Sub
Public Function GenerateRandomString(ByRef len As Integer, ByRef upper As Boolean) As String
Dim rand As New Random()
Dim allowableChars() As Char = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLOMNOPQRSTUVWXYZ0123456789".ToCharArray()
Dim final As String = String.Empty
For i As Integer = 0 To len - 1
final += allowableChars(rand.Next(allowableChars.Length - 1))
Next
Return IIf(upper, final.ToUpper(), final)
End Function