随机数的产生

    Private Shared Function GeneratePassword(ByVal nLength)
        Dim i, bMadeConsonant, c, nRnd

        Const strDoubleConsonants = "bd9fgl0mnp3st"
        Const strConsonants = "b1c4dfg2hk8lmn7pqr6stv"
        Const strVocal = "a1ei5ou"

        GeneratePassword = ""
        bMadeConsonant = False

        For i = 0 To nLength
            nRnd = Rnd()
            If GeneratePassword <> "" And (bMadeConsonant <> True) And (nRnd < 0.15) Then
                c = Mid(strDoubleConsonants, Int(Len(strDoubleConsonants) * Rnd() + 1), 1)
                c = c & c
                i = i + 1
                bMadeConsonant = True
            Else
                If (bMadeConsonant <> True) And (nRnd < 0.95) Then
                    c = Mid(strConsonants, Int(Len(strConsonants) * Rnd() + 1), 1)
                    bMadeConsonant = True
                Else
                    c = Mid(strVocal, Int(Len(strVocal) * Rnd() + 1), 1)
                    bMadeConsonant = False
                End If
            End If
            GeneratePassword = GeneratePassword & c
        Next

        If Len(GeneratePassword) > nLength Then
            GeneratePassword = GeneratePassword.ToString.Substring(0, nLength)
        End If

    End Function

 

 

测试:

Dim findBool As Boolean = True
Dim strRnd As String = ""

dim sql as string=""


Do While findBool
    StrRandomize(CStr(Now) & CStr(Rnd()))
    strRnd = GeneratePassword(4)
    StrRandomize(CStr(Now) & CStr(Rnd()))
    strRnd = strRnd & "-" & GeneratePassword(4)
    StrRandomize(CStr(Now) & CStr(Rnd()))
    strRnd = strRnd & "-" & GeneratePassword(4)
    sql = "select RANDOMCODE from tbl where RANDOMCODE='" & strRnd & "'"
    If getstr(sql) = "" Then
        findBool = False
    End If
Loop

 

最终得到:strRnd

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值