diff --git a/src/main/java/com/l2/shots/auth/BootstrapAdmin.java b/src/main/java/com/l2/shots/auth/BootstrapAdmin.java index 92aa9fc..37b5e07 100644 --- a/src/main/java/com/l2/shots/auth/BootstrapAdmin.java +++ b/src/main/java/com/l2/shots/auth/BootstrapAdmin.java @@ -21,7 +21,6 @@ import java.security.SecureRandom; public class BootstrapAdmin { private static final Logger LOG = Logger.getLogger(BootstrapAdmin.class); - private static final SecureRandom RANDOM = new SecureRandom(); // Alfabeto sin chars ambiguos (0/o/O, 1/l/I) para no cansar al tipear. private static final char[] ALPHABET = "ABCDEFGHJKLMNPQRSTUVWXYZ23456789abcdefghjkmnpqrstuvwxyz".toCharArray(); @@ -61,9 +60,12 @@ public class BootstrapAdmin { } private static String generatePassword() { + // Local para evitar un campo estático (GraalVM native-image no permite + // instancias de Random/SecureRandom en el image heap; las crea en runtime). + SecureRandom random = new SecureRandom(); StringBuilder sb = new StringBuilder(PASSWORD_LENGTH); for (int i = 0; i < PASSWORD_LENGTH; i++) { - sb.append(ALPHABET[RANDOM.nextInt(ALPHABET.length)]); + sb.append(ALPHABET[random.nextInt(ALPHABET.length)]); } return sb.toString(); }