我想用vb.net中的數字製作一個隨機字符發生器,我知道如何製作一個隨機數字發生器,但不能將數字與字母混合在一起。我想要它大約15-20個字符。 類似這樣的: F53Gsfdsj637jfsj5kd8如何製作隨機字符發生器? VB.NET
謝謝!
我想用vb.net中的數字製作一個隨機字符發生器,我知道如何製作一個隨機數字發生器,但不能將數字與字母混合在一起。我想要它大約15-20個字符。 類似這樣的: F53Gsfdsj637jfsj5kd8如何製作隨機字符發生器? VB.NET
謝謝!
一旦你有一個隨機數發生器,你大部分都在那裏。從那裏,只需在一組有效字符中選擇一個隨機字符。最簡單的方法是這樣的:
dim validchars as string = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890"
dim sb as new StringBuilder()
dim rand as new Random()
for i as Integer = 1 to 10
dim idx as Integer = rand.Next(0, validchars.Length)
dim randomChar as char = validchars(idx)
sb.Append(randomChar)
next i
dim randomString = sb.ToString()
當然,清理語法有點,也許使用的字符和長度的恆定值,位數的變量值等
不知道downvote來自哪裏,但如果是因爲我拼寫出了有效的字符,而不是使用Dan在另一個答案中使用的技巧,則可以這樣做。如果這是用於人類可讀的代碼,你可能想排除可能容易混淆的字符,如'Il10O',這在這裏很容易做到。此外,您可以輕鬆地將字符添加到有效列表中,以防您想要幾個特殊字符。此外,代碼中的混淆更少 - 「rand.next(48,122)」永遠不會給你「z」,因爲第二個數字(122)在該方法中是唯一的。 –
可能的重複[如何在C#中生成隨機8字符,字母數字字符串?](http://stackoverflow.com/questions/1344221/how-can-i-generate-random-8-character-alphanumeric-strings- in-c) – IAbstract
雖然被引用的問題是C#,但對MSDN的一點研究將向您展示VB.Net中的相同命令。 – IAbstract