| | |
| | | * |
| | | * Copyright 2010 Sun Microsystems, Inc. |
| | | * Portions Copyright 2011-2016 ForgeRock AS. |
| | | * Portions Copyrighted 2026 3A Systems, LLC. |
| | | */ |
| | | package com.forgerock.opendj.ldap.tools; |
| | | |
| | |
| | | import static com.forgerock.opendj.cli.CommonArguments.*; |
| | | |
| | | import java.io.PrintStream; |
| | | import java.security.SecureRandom; |
| | | import java.util.ArrayList; |
| | | import java.util.Collections; |
| | | import java.util.LinkedList; |
| | | import java.util.List; |
| | | import java.util.Random; |
| | | |
| | | import com.codahale.metrics.RatioGauge; |
| | | import com.forgerock.opendj.cli.MultiColumnPrinter; |
| | |
| | | private Object[] data; |
| | | private final char[] invalidPassword = "invalid-password".toCharArray(); |
| | | |
| | | private final ThreadLocal<Random> rng = new ThreadLocal<Random>() { |
| | | private final ThreadLocal<SecureRandom> rng = new ThreadLocal<SecureRandom>() { |
| | | @Override |
| | | protected Random initialValue() { |
| | | return new Random(); |
| | | protected SecureRandom initialValue() { |
| | | return new SecureRandom(); |
| | | } |
| | | }; |
| | | |
| | |
| | | useInvalidPassword = true; |
| | | break; |
| | | default: |
| | | final Random r = rng.get(); |
| | | final SecureRandom r = rng.get(); |
| | | final int p = r.nextInt(100); |
| | | useInvalidPassword = p < invalidCredPercent; |
| | | break; |