最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

VB.NET生成随机串或随机数字的方法总结

来源:动视网 责编:小采 时间:2020-11-27 22:36:22
文档

VB.NET生成随机串或随机数字的方法总结

VB.NET生成随机串或随机数字的方法总结:本文一共介绍了5种生成随机数方式,具体如下: 第一种:转载的方法 Public Enum stringtype allstring = 1 '大小写字母 allnumic = 2 '数字 str_num = 3 '大小写字母+数字 str_upper = 4 '大写字母 str_lower = 5 '大写字母
推荐度:
导读VB.NET生成随机串或随机数字的方法总结:本文一共介绍了5种生成随机数方式,具体如下: 第一种:转载的方法 Public Enum stringtype allstring = 1 '大小写字母 allnumic = 2 '数字 str_num = 3 '大小写字母+数字 str_upper = 4 '大写字母 str_lower = 5 '大写字母


本文一共介绍了5种生成随机数方式,具体如下:

第一种:转载的方法

Public Enum stringtype
 allstring = 1 '大小写字母
 allnumic = 2 '数字
 str_num = 3 '大小写字母+数字
 str_upper = 4 '大写字母
 str_lower = 5 '大写字母 
 End Enum
 Function GenerateRandom(ByVal Length As Integer, ByVal s As stringtype) As String
 Dim strtemp As String = ""
 Dim constant() As String = Nothing
 Select Case s
 Case stringtype.allnumic
 strtemp = "0,1,2,3,4,5,6,7,8,9"
 constant = strtemp.Split(",")
 Case stringtype.allstring
 strtemp = "a,b,c,d,e,f,g,h,i,j,k,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,D,G,H,I,J,K,L,M,N,P,Q,R,S,T,U,V,W,X,X,Y,Z"
 constant = strtemp.Split(",")
 Case stringtype.str_lower
 strtemp = "a,b,c,d,e,f,g,h,i,j,k,m,n,o,p,q,r,s,t,u,v,w,x,y,z"
 constant = strtemp.Split(",")
 Case stringtype.str_num
 strtemp = "a,b,c,d,e,f,g,h,i,j,k,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,D,G,H,I,J,K,L,M,N,P,Q,R,S,T,U,V,W,X,X,Y,Z,0,1,2,3,4,5,6,7,8,9"
 constant = strtemp.Split(",")
 Case stringtype.str_upper
 strtemp = "A,B,C,E,F,D,G,H,I,J,K,L,M,N,P,Q,R,S,T,U,V,W,X,Y,Z"
 constant = strtemp.Split(",")
 End Select
 Dim NewRandom As System.Text.StringBuilder = New System.Text.StringBuilder(Length)
 Dim rd As Random = New Random()
 Dim i As Integer
 For i = 0 To Length - 1 Step i + 1
 NewRandom.Append(constant(rd.Next(constant.Length - 1)))
 Next
 Return NewRandom.ToString()
 End Function

第二种:网上查找

Public Function GetOAuthNonce() As String ' 得到随机值
 Dim result As String = System.Guid.NewGuid().ToString()
 result = result.Replace("-", "")
 Return result.Substring(0, 10)
 End Function
Public Function RandCode(ByVal n As Integer) As String
 Dim arrChar As Char() = New Char() {"a"c, "b"c, "d"c, "c"c, "e"c, "f"c, _
 "g"c, "h"c, "i"c, "j"c, "k"c, "l"c, _
 "m"c, "n"c, "p"c, "r"c, "q"c, "s"c, _
 "t"c, "u"c, "v"c, "w"c, "z"c, "y"c, _
 "x"c, "0"c, "1"c, "2"c, "3"c, "4"c, _
 "5"c, "6"c, "7"c, "8"c, "9"c, "A"c, _
 "B"c, "C"c, "D"c, "E"c, "F"c, "G"c, _
 "H"c, "I"c, "J"c, "K"c, "L"c, "M"c, _
 "N"c, "Q"c, "P"c, "R"c, "T"c, "S"c, _
 "V"c, "U"c, "W"c, "X"c, "Y"c, "Z"c}
 Dim num As New StringBuilder()
 Dim rnd As New Random(DateTime.Now.Millisecond)
 For i As Integer = 0 To n - 1
 num.Append(arrChar(rnd.[Next](0, arrChar.Length)).ToString())
 Next
 Return num.ToString()
 End Function

第三种:原来是C#转换

Public Function RandCode(ByVal n As Integer) As String
 Dim arrChar As Char() = New Char() {"a"c, "b"c, "d"c, "c"c, "e"c, "f"c, _
 "g"c, "h"c, "i"c, "j"c, "k"c, "l"c, _
 "m"c, "n"c, "p"c, "r"c, "q"c, "s"c, _
 "t"c, "u"c, "v"c, "w"c, "z"c, "y"c, _
 "x"c, "0"c, "1"c, "2"c, "3"c, "4"c, _
 "5"c, "6"c, "7"c, "8"c, "9"c, "A"c, _
 "B"c, "C"c, "D"c, "E"c, "F"c, "G"c, _
 "H"c, "I"c, "J"c, "K"c, "L"c, "M"c, _
 "N"c, "Q"c, "P"c, "R"c, "T"c, "S"c, _
 "V"c, "U"c, "W"c, "X"c, "Y"c, "Z"c}
 Dim num As New StringBuilder()
 Dim rnd As New Random(DateTime.Now.Millisecond)
 For i As Integer = 0 To n - 1
 num.Append(arrChar(rnd.[Next](0, arrChar.Length)).ToString())
 Next
 Return num.ToString()
 End Function

第四种:利用VB6转换

Function makeRand(ByVal maxLen As Integer) As String '生成签名时用随机串
 Dim strNewPass As String = vbNullString
 Dim lower As Long
 Dim whatsNext As Long
 Dim upper As Long
 Dim intCounter As Long
 Randomize()
 For intCounter = 1 To maxLen
 whatsNext = Int((1 - 0 + 1) * Rnd() + 0)
 If whatsNext = 0 Then
 upper = 122
 lower = 100
 Else
 upper = 57
 lower = 48
 End If
 strNewPass = strNewPass & Chr(Int((upper - lower + 1) * Rnd() + lower))
 Next
 makeRand = strNewPass
 End Function

第五种:直接用VB.NET函数

 Dim rand As Random = New System.Random(10)‘这里10就代表是10为
 Debug.Print(rand.Next().ToString)

原文链接:http://blog.csdn.net/lcp58006478/article/details/8958460

文档

VB.NET生成随机串或随机数字的方法总结

VB.NET生成随机串或随机数字的方法总结:本文一共介绍了5种生成随机数方式,具体如下: 第一种:转载的方法 Public Enum stringtype allstring = 1 '大小写字母 allnumic = 2 '数字 str_num = 3 '大小写字母+数字 str_upper = 4 '大写字母 str_lower = 5 '大写字母
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top