Foxtable(狐表)用户栏目专家坐堂 → [求助]生成的随机数全是英文字母?


  共有1664人关注过本帖树形打印复制链接

主题:[求助]生成的随机数全是英文字母?

帅哥哟,离线,有人找我吗?
chen37280600
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1266 积分:7849 威望:0 精华:4 注册:2017/12/31 14:53:00
  发帖心情 Post By:2023/7/30 23:27:00 [显示全部帖子]

chatgpt回复

要在VB.NET中生成指定长度的纯字母的随机字符串,可以使用随机数生成器和字符集来实现。下面是一个示例代码,它将生成一个指定长度的纯字母随机字符串:

```vb.net
Imports System.Text
Imports System.Security.Cryptography

Module Module1
    Sub Main()
        Dim length As Integer = 10 ' 指定字符串长度
        Dim randomString As String = GenerateRandomString(length)
        Console.WriteLine(randomString)
    End Sub

    Private Function GenerateRandomString(ByVal length As Integer) As String
        Const chars As String = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"
        Dim result As New StringBuilder(length)
        Dim rng As New RNGCryptoServiceProvider()
        Dim data(length - 1) As Byte

        rng.GetBytes(data)

        For i As Integer = 0 To length - 1
            Dim rndIndex As Integer = data(i) Mod chars.Length
            result.Append(chars(rndIndex))
        Next

        Return result.ToString()
    End Function
End Module
```

这个代码使用了 `RNGCryptoServiceProvider` 类来生成安全的随机字节序列,然后根据字节序列中的值从字符集中选择字符来构建随机字符串。字符集 `chars` 包含所有的大写字母和小写字母。

请注意,由于 `RNGCryptoServiceProvider` 生成的是真正的随机字节,因此生成的随机字符串是高度随机的,并且比简单的伪随机算法更安全。

 回到顶部