Java で32桁の16進数の乱数を簡単に作りたいなと思ったので作ってみたメモ。
byte[] bytes = new byte[16]; SecureRandom random = new SecureRandom(); random.nextBytes(bytes); String hexString = HexFormat.of().formatHex(bytes);
これで変数 hexString
には 7ffda83291c2b5e47db3557138ef7799
のような文字列が入ります。
16進数の 1 桁は 4 bit で、byte は 8 bitです。なので、欲しい桁の半分のbyte配列を作成します。
SecureRandomのパラメータとかは必要に応じて良い感じに設定すると良いと思います。