1. ホーム
  2. java

[解決済み] JavaでA-Zと0-9のランダムな文字列を作成する【重複

2022-03-05 14:06:39

質問

タイトルの通り、17文字のランダムなIDを作成する必要があります。例えば、"のようなものです。 AJB53JHS232ERO0H1 となります。文字と数字の順番もランダムです。A〜Zの文字で配列を作り、'check'変数でランダム化することを考えました。 1-2 . そしてループで

Randomize 'check' to 1-2.
If (check == 1) then the character is a letter.
Pick a random index from the letters array.
else
Pick a random number.

でも、もっと簡単な方法があるような気がするのです。あるのでしょうか?

どのように解決するのですか?

ここで、私が開発したランダム文字列の生成方法を使用することができます。

protected String getSaltString() {
        String SALTCHARS = "ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890";
        StringBuilder salt = new StringBuilder();
        Random rnd = new Random();
        while (salt.length() < 18) { // length of the random string.
            int index = (int) (rnd.nextFloat() * SALTCHARS.length());
            salt.append(SALTCHARS.charAt(index));
        }
        String saltStr = salt.toString();
        return saltStr;

    }

上記のメソッドは、私のバッグから、ログインのためのソルト文字列を生成するために使用します。