Я пытаюсь сгенерировать буквенно-цифровую строку, используя SecureRandom.
Вот мой маленький код:
import java.math.BigInteger;
import java.security.SecureRandom;
public class GenerateSecureRandom {
private static SecureRandom SECURE_RANDOM = new SecureRandom();
public static String nextSessionId() {
return new BigInteger(64, SECURE_RANDOM).toString(16);
}
}
Это работает! Я получаю, например, это: 7c52cfce6c479803 = 16 символов: ОК!
Моя проблема в том, что иногда этот код возвращает строку из 15 символов, и я не понимаю, почему. (Я новичок ...)
Вот пример: 515c38584d0a077 = 15 символов: ОШИБКА
Что я делаю не так?
Я новичок в программировании на Java, поэтому, пожалуйста, будьте снисходительны, если мой подход не верен:)
Если этот код неверен, как я могу получить ожидаемый результат? Я хотел бы использовать SecureRandom.
Заранее благодарю за ответы
Извините, если мой вопрос дублируется, я искал, не найдя ответа ...