どのようにC#を使用して任意の長さのランダムな16進数を生成できますか?C#でランダムに生成された16進数
答えて
static Random random = new Random();
public static string GetRandomHexNumber(int digits)
{
byte[] buffer = new byte[digits/2];
random.NextBytes(buffer);
string result = String.Concat(buffer.Select(x => x.ToString("X2")).ToArray());
if (digits % 2 == 0)
return result;
return result + random.Next(16).ToString("X");
}
Random random = new Random();
int num = random.Next();
string hexString = num.ToString("X");
random.Nextは()それはあなたが長さを制御する方法をですので、あなたは、最小値と最大値を指定してみましょう引数を取ります。
ランダムに依存しますが、ここには3つの選択肢があります: 1)私は通常、Guid.NewGuidを使用してその一部を選択します。
2)System.Random(他の応答を参照)は、「十分にランダム」にしたい場合に適しています。
3)System.Security.Cryptography.RNGCryptoServiceProvider
GUIDをスライスするのは私にとって本当の悪い考えです。彼らは全体として撮影されたユニークです。 GUIDの多くのビットは確かにランダムであるとは限りません。 – spender
@spenderは正しいです。たとえば、多くのGUIDには、それらを生成するPCのMACアドレスが含まれています。 –
Macアドレスベースのguidは、セキュリティ上の問題が考えられるため、2000年に退職しました。 GUIDは、乱数ジェネレータ(122ビットランダム、6ビット非ランダム)によって生成されるようになりました。いずれにしても、32ビット(またはそれ以上)のguidのスライスを使用すると、System.Randomよりも乱数が大きくなります。 古いスタイルのGUIDがほしい人のために下位互換性のために追加されたUuidCreateSequentialを呼び出さない限り、それは別の話です。 – KristoferA
はここで256ビットの16進文字列を返すものをだ(8×8 = 256):
private static string RandomHexString()
{
// 64 character precision or 256-bits
Random rdm = new Random();
string hexValue = string.Empty;
int num;
for (int i = 0; i < 8; i++)
{
num = rdm.Next(0, int.MaxValue);
hexValue += num.ToString("X8");
}
return hexValue;
}
- 1. ランダムに生成されたキーに含まれるFirebaseクエリの16進コード
- 2. 16進数の文字で表現された16進数
- 3. 多くの16進数を生成
- 4. Groovyスクリプトを使用して16進数の16進数を生成する
- 5. ランダムに生成されたXの数
- 6. C++ 16進数形式
- 7. boost :: formatで16進数の出力を生成するには?
- 8. 混乱C++で16進数を2進数に変換する
- 9. ACKメッセージ(16進数から16進数)
- 10. C#16進コードシャドウグラデーションジェネレータ
- 11. 文字列を16進数で16進数に変換する
- 12. c#:16進数をGUIDに変換
- 13. Cでは、char []をエスケープされた16進数で出力する方法は?
- 14. ランダムに生成された2 x 10の数値は同じです。C#
- 15. Pythonで16進数のリストを生成する
- 16. C#ランダムでランダムな結果が生成されない
- 17. 10進数から16進数に変換するC++プログラム
- 18. 16進数への16進値
- 19. ランダムに生成されたワールドポイントでオブジェクトを生成する
- 20. Arduinoは16進数で十進数を作成します
- 21. C++のループでランダム化されたオブジェクトを生成する
- 22. 16進定数
- 23. MySQL - 16進数
- 24. は「A」またはランダムに生成された文字列に「」ランダムに生成された文字列
- 25. 開梱16進数でエンコードされた山車
- 26. 2進数と16進数で7桁で表される値の数
- 27. Cで手動で16進数に16進数を変換することによるオーバーフロー
- 28. Pythonで16進数または16進整数を解析する方法
- 29. ランダムなデータの生成でランダムなデータが生成される
- 30. Pythonでランダムな2進数を生成する
はそれがうまくいくだけ '場合は、長さ<= 8 'はint.MaxValueとして8桁の16進数で収まる。 –
もし実際に16進文字列の長さを自分の選択した長さにしたいのであれば、16進数 'x'の最小数と長さ 'x'の最大数を計算するコードが必要になります。 – colithium
私は意図的にそれを残しましたが、基本的には0xFで変換を行うだけですか? ( '私の正規表現をスキャンして)あなたの望む長さに合った整数を探します。 – womp