summaryrefslogtreecommitdiff
path: root/shared/src/main/java/kz/ilotterytea/frogartha/utils/RandomUtils.java
blob: 20a494c90cd1ec4c383b700ef094f6986d5e46dc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
package kz.ilotterytea.frogartha.utils;

import java.util.Random;

public class RandomUtils {
    public static final char[] CHARACTER_POOL = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789".toCharArray();
    public static final int TOKEN_LENGTH = 32;

    public static String generateRandomString() {
        return generateRandomString(CHARACTER_POOL, TOKEN_LENGTH);
    }

    public static String generateRandomString(int length) {
        return generateRandomString(CHARACTER_POOL, length);
    }

    public static String generateRandomString(char[] characterPool, int length) {
        StringBuilder output = new StringBuilder();
        Random random = new Random();

        for (int i = 0; i < length; i++) {
            char character = characterPool[Math.abs(random.nextInt()) % characterPool.length];
            output.append(character);
        }

        return output.toString();
    }
}