生成任意长度的随机字符串
2013-07-03 16:02
423 查看
有很多种方案:
方案一:
传入参数strNum = 128
测试输出:mZX30h40nWC6FAZGBN5bk5wI2L2X2VSnpVPO9bA9wEXYP7Mu9iKtfp7M5WfG0Am0nywt3YS1Emc4e3UmiUbOHl3PSurYWQWB5jrcbm564x6duD8OJRY6U9tvaJHRUZqq
方案二:
传入参数strNum = 128
测试输出:
CHeBIn0eZARoqINJkfQ37wYwoyOvvnoEH9itL0BXUZlNfJ0SERNERWJF8JUGh0SQGXUm8FY9YonzZIyoKdMMRFpXnt8BNpXXZEbssnGy9fEhTWRvR1193QGJCT0gUXCG
方案三:
PS:这个方案只能生成大写字母和数字的随机字符
传入参数strNum = 128
测试输出:
246NRZ2206VJ2LXT868T4884R0B2JV0VB4T8NPX6H2X4P8D22BJ260D46Z4HT462R08HNZ224F2FN4XHBDX4L882PL2N6PJ2J8VP0VFRV42422PT2J2246B22FR4HN6FR
方案四:(方案三的修改)
PS:这个方案只能生成小写字母和数字的随机字符
传入参数strNum = 128
测试输出:
0624t0pffz008l04dn242244ffrx4p662r6ppdx848286p0hj64f2jx82bp00r024n2f0b0zp8nl0022hfjjn680p88njj84v4b22nh86x64v4h6p4bhd2x2d2l2f86fh
上面都是实际测试的结果!
方案一:
Public Function GenRndString(ByVal strNum As Long) As String If strNum <= 0 Then Return "" Exit Function End If Dim i As Long Dim intLength As Integer GenRndString = "" Const STRINGSOURCE = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz" intLength = Len(STRINGSOURCE) - 1 Randomize() For i = 1 To strNum GenRndString = GenRndString & Mid(STRINGSOURCE, Int(Rnd() * intLength + 1), 1) Next Return GenRndString End Function
传入参数strNum = 128
TxtRadStr.Text = GenRndString(128) ' 生成128位随机字符串
测试输出:mZX30h40nWC6FAZGBN5bk5wI2L2X2VSnpVPO9bA9wEXYP7Mu9iKtfp7M5WfG0Am0nywt3YS1Emc4e3UmiUbOHl3PSurYWQWB5jrcbm564x6duD8OJRY6U9tvaJHRUZqq
方案二:
Function GenRndString1(ByVal strNum As Integer) As String Dim RndNum, i As Integer Dim RndChar As Char Dim outStr As String outStr = "" ' ////////////Description //// '###0-9 的ASCII码是:48-57 #### '###A-Z 的ASCII码是:65-90 #### '###a-z 的ASCII码是:97-122 ### '//////////////End///////////// Randomize() For i = 1 To strNum RndNum = Int(Rnd() * 62) '随机生成的字符有大小写字母和数字,共有26个 If RndNum < 10 Then '如果小于10,则是数字 数字的ASCII是48-57 对应 随机数字 0-9 所以要将随机数字加48 RndChar = Chr(RndNum + 48) 'Chr 是将把数字按Ascii码转换为对应的字符 ElseIf RndNum < 36 Then '如果小于36,则是大写字母 大写字母的ASCII是65-90 对应 随机数字10-35 所以要将随机数字加55 RndChar = Chr(RndNum + 55) ElseIf RndNum > 36 Then '如果大于36,则是小写字母 小写字母的ASCII是97-122 对应 随机数字36-62 所以要将随机数字加61 RndChar = Chr(RndNum + 61) End If outStr = outStr + RndChar Next GenRndString1 = outStr End Function
传入参数strNum = 128
TxtRadStr.Text = GenRndString1(128) ' 生成128位随机字符串
测试输出:
CHeBIn0eZARoqINJkfQ37wYwoyOvvnoEH9itL0BXUZlNfJ0SERNERWJF8JUGh0SQGXUm8FY9YonzZIyoKdMMRFpXnt8BNpXXZEbssnGy9fEhTWRvR1193QGJCT0gUXCG
方案三:
PS:这个方案只能生成大写字母和数字的随机字符
Public Function GenRndString2(ByVal RndWidth As Integer) As String Dim RndNum As Integer Dim RndChar As String Dim outRndStr As String = String.Empty Dim i As Integer = 0 Dim random As System.Random = New Random() For i = 0 To RndWidth RndNum = random.Next(255) If (RndNum Mod 2 = 0) Then RndChar = Chr(48 + (RndNum Mod 10)) Else RndChar = Chr(65 + (RndNum Mod 26)) End If outRndStr += RndChar.ToString() Next Return outRndStr End Function
传入参数strNum = 128
TxtRadStr.Text = GenRndString2(128) ' 生成128位随机字符串
测试输出:
246NRZ2206VJ2LXT868T4884R0B2JV0VB4T8NPX6H2X4P8D22BJ260D46Z4HT462R08HNZ224F2FN4XHBDX4L882PL2N6PJ2J8VP0VFRV42422PT2J2246B22FR4HN6FR
方案四:(方案三的修改)
PS:这个方案只能生成小写字母和数字的随机字符
Public Function GenRndString2(ByVal RndWidth As Integer) As String Dim RndNum As Integer Dim RndChar As String Dim outRndStr As String = String.Empty Dim i As Integer = 0 Dim random As System.Random = New Random() For i = 0 To RndWidth RndNum = random.Next(255) If (RndNum Mod 2 = 0) Then RndChar = Chr(48 + (RndNum Mod 10)) Else RndChar = Chr(97 + (RndNum Mod 26)) End If outRndStr += RndChar.ToString() Next Return outRndStr End Function
传入参数strNum = 128
TxtRadStr.Text = GenRndString2(128) ' 生成128位随机字符串
测试输出:
0624t0pffz008l04dn242244ffrx4p662r6ppdx848286p0hj64f2jx82bp00r024n2f0b0zp8nl0022hfjjn680p88njj84v4b22nh86x64v4h6p4bhd2x2d2l2f86fh
上面都是实际测试的结果!
相关文章推荐
- 生成一个任意长度的随机字符串,包含数字和字母[C语言]
- 随机生成一个任意长度的字符串
- PHP 生成任意长度的随机字符串
- Java随机密码生成器,Java随机生成长度不少于6的指定长度的密码,且这个字符串必须包含大小写字母、数字和特殊字符,四种的任意三种
- Java工具类_随机生成任意长度的字符串【密码、验证码】
- Java随机生成长度不少于6的指定长度的密码,且这个字符串必须包含大小写字母、数字和特殊字符,四种的任意三种
- 用GO生成指定长度的随机字符串
- MySQL中随机生成固定长度字符串的方法
- 编写一个生成随机字符串的方法,参数接收长度,字符串中可能含有大写字母、 小写字母和数字。
- 生成一个指定长度的随机字符串
- PHP生成自定义长度随机字符串的函数分享
- 随机生成指定长度的字符串+校验
- MySQL中随机生成固定长度字符串的方法
- web前端_Math.random()生成指定长度随机字符串
- 自定义随机生成指定的长度字符串
- C# 生成指定长度的随机字符串
- 利用Ruby生成长度为n的随机字符串
- 生成指定长度的随机字符串
- 由一个任意长度字符串生成唯一的32位整数
- 随机生成指定长度字符串