人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

[VB.NETで半角英字をランダムに発生させるには?]

3?4文字の空いている.comドメインをVisualBasic2008Expressでプログラムして、Whoisサイトで探そうと思います。

順ぐりに探すのではなく、ランダムな英字を投げようと思うのですが、半角英字をランダムに生成する方法がわかりません。

どのようなコードを書けばよろしいでしょうか? よろしくお願い申し上げます。

(なお、「そんなことするとWhoisサイトにブロックされるよ」というご意見もあるかと思いますが、サイトに文字列を投げる間隔も十分に空け、ランダム性のある間隔にすれば大丈夫かと思うのですが、いかがでしょう)

●質問者: vb-net
●カテゴリ:コンピュータ 学習・教育
✍キーワード:VB.NET whois うご コード サイト
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● bmax
●60ポイント ベストアンサー

下記のコードで生成できます。


使い方の例:Dim result as string = CreateRandomString(4)

で4桁のランダムな半角英数字がresultに入ります。



  ''' <summary>
  ''' ランダムな文字列の生成
  ''' </summary>
  ''' <param name="length">文字数</param>
  ''' <returns>ランダムな文字列("0" To "9", "A" To "Z", "a" To "z")</returns>
 Private Shared Function CreateRandomString(ByVal length As Integer) As String

 CreateRandomString = ""

  '指定の文字数になるまでランダムな文字を生成
 Dim strKey As String = ""
 Do Until Len(strKey) >= length
  'ランダムな文字を生成
 Dim strKeyChar As String = Chr(RollDice(122 - 47) + 47)
  '数字・英字の範囲かチェック
 Select Case strKeyChar
 Case "0" To "9", "A" To "Z", "a" To "z"
  'Case "0" To "9"
 strKey = strKey & strKeyChar
 End Select
 Loop

 CreateRandomString = strKey

 End Function


  ''' <summary>
  ''' 暗号サービス プロバイダの暗号乱数ジェネレータを使っての乱数の生成(MSのヘルプから引用)
  ''' </summary>
  ''' <param name="NumSides">出力値の最大値</param>
  ''' <returns>乱数(1?指定した最大値)</returns>
 Private Shared Function RollDice(ByVal NumSides As Integer) As Integer

 Dim randomNumber(0) As Byte

 Dim Gen As RNGCryptoServiceProvider = New Global.System.Security.Cryptography.RNGCryptoServiceProvider()

 Gen.GetBytes(randomNumber)

 Dim rand As Integer = Convert.ToInt32(randomNumber(0))

 Return rand Mod NumSides + 1
 End Function
◎質問者からの返答

ありがとうございます。助かりました!

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ