Skip to content

Commit b423002

Browse files
authored
updated Random() to SecureRandom() (iluwatar#1670)
* updated Random() to SecureRandom() * batch 2 of SecureRandom updates
1 parent c150871 commit b423002

File tree

15 files changed

+32
-31
lines changed

15 files changed

+32
-31
lines changed

commander/src/main/java/com/iluwatar/commander/Order.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,8 @@
2323

2424
package com.iluwatar.commander;
2525

26+
import java.security.SecureRandom;
2627
import java.util.Hashtable;
27-
import java.util.Random;
2828

2929
/**
3030
* Order class holds details of the order.
@@ -45,7 +45,7 @@ enum MessageSent {
4545
public final String id;
4646
final float price;
4747
final long createdTime;
48-
private static final Random RANDOM = new Random();
48+
private static final SecureRandom RANDOM = new SecureRandom();
4949
private static final String ALL_CHARS = "ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890";
5050
private static final Hashtable<String, Boolean> USED_IDS = new Hashtable<String, Boolean>();
5151
PaymentStatus paid;

commander/src/main/java/com/iluwatar/commander/Retry.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -23,10 +23,10 @@
2323

2424
package com.iluwatar.commander;
2525

26+
import java.security.SecureRandom;
2627
import java.util.ArrayList;
2728
import java.util.Arrays;
2829
import java.util.List;
29-
import java.util.Random;
3030
import java.util.concurrent.atomic.AtomicInteger;
3131
import java.util.function.Predicate;
3232

@@ -56,7 +56,7 @@ public interface HandleErrorIssue<T> {
5656
void handleIssue(T obj, Exception e);
5757
}
5858

59-
private static final Random RANDOM = new Random();
59+
private static final SecureRandom RANDOM = new SecureRandom();
6060

6161
private final Operation op;
6262
private final HandleErrorIssue<T> handleError;

commander/src/main/java/com/iluwatar/commander/Service.java

+3-2
Original file line numberDiff line numberDiff line change
@@ -24,10 +24,11 @@
2424
package com.iluwatar.commander;
2525

2626
import com.iluwatar.commander.exceptions.DatabaseUnavailableException;
27+
28+
import java.security.SecureRandom;
2729
import java.util.ArrayList;
2830
import java.util.Hashtable;
2931
import java.util.List;
30-
import java.util.Random;
3132

3233
/**
3334
* Service class is an abstract class extended by all services in this example. They all have a
@@ -42,7 +43,7 @@ public abstract class Service {
4243

4344
protected final Database database;
4445
public ArrayList<Exception> exceptionsList;
45-
private static final Random RANDOM = new Random();
46+
private static final SecureRandom RANDOM = new SecureRandom();
4647
private static final String ALL_CHARS = "ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890";
4748
private static final Hashtable<String, Boolean> USED_IDS = new Hashtable<>();
4849

event-asynchronous/src/main/java/com/iluwatar/event/asynchronous/EventManager.java

+3-3
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,8 @@
2323

2424
package com.iluwatar.event.asynchronous;
2525

26+
import java.security.SecureRandom;
2627
import java.util.Map;
27-
import java.util.Random;
2828
import java.util.concurrent.ConcurrentHashMap;
2929

3030
/**
@@ -43,7 +43,7 @@ public class EventManager implements ThreadCompleteListener {
4343
public static final int MAX_ID = MAX_RUNNING_EVENTS;
4444
public static final int MAX_EVENT_TIME = 1800; // in seconds / 30 minutes.
4545
private int currentlyRunningSyncEvent = -1;
46-
private final Random rand;
46+
private final SecureRandom rand;
4747
private final Map<Integer, Event> eventPool;
4848

4949
private static final String DOES_NOT_EXIST = " does not exist.";
@@ -52,7 +52,7 @@ public class EventManager implements ThreadCompleteListener {
5252
* EventManager constructor.
5353
*/
5454
public EventManager() {
55-
rand = new Random(1);
55+
rand = new SecureRandom();
5656
eventPool = new ConcurrentHashMap<Integer, Event>(MAX_RUNNING_EVENTS);
5757

5858
}

game-loop/src/main/java/com/iluwatar/gameloop/GameLoop.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323

2424
package com.iluwatar.gameloop;
2525

26-
import java.util.Random;
26+
import java.security.SecureRandom;
2727
import org.slf4j.Logger;
2828
import org.slf4j.LoggerFactory;
2929

@@ -80,7 +80,7 @@ public boolean isGameRunning() {
8080
*/
8181
protected void processInput() {
8282
try {
83-
var lag = new Random().nextInt(200) + 50;
83+
var lag = new SecureRandom().nextInt(200) + 50;
8484
Thread.sleep(lag);
8585
} catch (InterruptedException e) {
8686
logger.error(e.getMessage());

hexagonal/src/main/java/com/iluwatar/hexagonal/domain/LotteryNumbers.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -24,10 +24,10 @@
2424
package com.iluwatar.hexagonal.domain;
2525

2626
import com.google.common.base.Joiner;
27+
import java.security.SecureRandom;
2728
import java.util.Collections;
2829
import java.util.HashSet;
2930
import java.util.PrimitiveIterator;
30-
import java.util.Random;
3131
import java.util.Set;
3232

3333
/**
@@ -126,7 +126,7 @@ private static class RandomNumberGenerator {
126126
* @param max the max value (inclusive)
127127
*/
128128
public RandomNumberGenerator(int min, int max) {
129-
randomIterator = new Random().ints(min, max + 1).iterator();
129+
randomIterator = new SecureRandom().ints(min, max + 1).iterator();
130130
}
131131

132132
/**

hexagonal/src/main/java/com/iluwatar/hexagonal/sampledata/SampleData.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -30,9 +30,9 @@
3030
import com.iluwatar.hexagonal.domain.LotteryTicket;
3131
import com.iluwatar.hexagonal.domain.LotteryTicketId;
3232
import com.iluwatar.hexagonal.domain.PlayerDetails;
33+
import java.security.SecureRandom;
3334
import java.util.AbstractMap.SimpleEntry;
3435
import java.util.List;
35-
import java.util.Random;
3636
import java.util.stream.Collectors;
3737

3838
/**
@@ -41,7 +41,7 @@
4141
public class SampleData {
4242

4343
private static final List<PlayerDetails> PLAYERS;
44-
private static final Random RANDOM = new Random();
44+
private static final SecureRandom RANDOM = new SecureRandom();
4545

4646
static {
4747
PLAYERS = List.of(

leader-followers/src/main/java/com/iluwatar/leaderfollowers/App.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323

2424
package com.iluwatar.leaderfollowers;
2525

26-
import java.util.Random;
26+
import java.security.SecureRandom;
2727
import java.util.concurrent.Executors;
2828
import java.util.concurrent.TimeUnit;
2929

@@ -84,7 +84,7 @@ private static void execute(WorkCenter workCenter, TaskSet taskSet) throws Inter
8484
* Add tasks.
8585
*/
8686
private static void addTasks(TaskSet taskSet) throws InterruptedException {
87-
var rand = new Random();
87+
var rand = new SecureRandom();
8888
for (var i = 0; i < 5; i++) {
8989
var time = Math.abs(rand.nextInt(1000));
9090
taskSet.addTask(new Task(time));

master-worker-pattern/src/main/java/com/iluwatar/masterworker/ArrayUtilityMethods.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323

2424
package com.iluwatar.masterworker;
2525

26-
import java.util.Random;
26+
import java.security.SecureRandom;
2727
import org.slf4j.Logger;
2828
import org.slf4j.LoggerFactory;
2929

@@ -35,7 +35,7 @@ public class ArrayUtilityMethods {
3535

3636
private static final Logger LOGGER = LoggerFactory.getLogger(ArrayUtilityMethods.class);
3737

38-
private static final Random RANDOM = new Random();
38+
private static final SecureRandom RANDOM = new SecureRandom();
3939

4040
/**
4141
* Method arraysSame compares 2 arrays @param a1 and @param a2 and @return whether their values

producer-consumer/src/main/java/com/iluwatar/producer/consumer/Producer.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -23,15 +23,15 @@
2323

2424
package com.iluwatar.producer.consumer;
2525

26-
import java.util.Random;
26+
import java.security.SecureRandom;
2727

2828
/**
2929
* Class responsible for producing unit of work that can be expressed as {@link Item} and submitted
3030
* to queue.
3131
*/
3232
public class Producer {
3333

34-
private static final Random RANDOM = new Random();
34+
private static final SecureRandom RANDOM = new SecureRandom();
3535

3636
private final ItemQueue queue;
3737

sharding/src/main/java/com/iluwatar/sharding/LookupShardManager.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,9 @@
2323

2424
package com.iluwatar.sharding;
2525

26+
import java.security.SecureRandom;
2627
import java.util.HashMap;
2728
import java.util.Map;
28-
import java.util.Random;
2929

3030
import org.slf4j.Logger;
3131
import org.slf4j.LoggerFactory;
@@ -58,7 +58,7 @@ protected int allocateShard(Data data) {
5858
return lookupMap.get(key);
5959
} else {
6060
var shardCount = shardMap.size();
61-
return new Random().nextInt(shardCount - 1) + 1;
61+
return new SecureRandom().nextInt(shardCount - 1) + 1;
6262
}
6363
}
6464

spatial-partition/src/main/java/com/iluwatar/spatialpartition/App.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,8 @@
2323

2424
package com.iluwatar.spatialpartition;
2525

26+
import java.security.SecureRandom;
2627
import java.util.HashMap;
27-
import java.util.Random;
2828
import org.slf4j.Logger;
2929
import org.slf4j.LoggerFactory;
3030

@@ -112,7 +112,7 @@ static void withSpatialPartition(
112112
public static void main(String[] args) {
113113
var bubbles1 = new HashMap<Integer, Bubble>();
114114
var bubbles2 = new HashMap<Integer, Bubble>();
115-
var rand = new Random();
115+
var rand = new SecureRandom();
116116
for (int i = 0; i < 10000; i++) {
117117
var b = new Bubble(rand.nextInt(300), rand.nextInt(300), i, rand.nextInt(2) + 1);
118118
bubbles1.put(i, b);

spatial-partition/src/main/java/com/iluwatar/spatialpartition/Bubble.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,9 @@
2323

2424
package com.iluwatar.spatialpartition;
2525

26+
import java.security.SecureRandom;
2627
import java.util.Collection;
2728
import java.util.HashMap;
28-
import java.util.Random;
2929
import org.slf4j.Logger;
3030
import org.slf4j.LoggerFactory;
3131

@@ -36,7 +36,7 @@
3636

3737
public class Bubble extends Point<Bubble> {
3838
private static final Logger LOGGER = LoggerFactory.getLogger(Bubble.class);
39-
private static final Random RANDOM = new Random();
39+
private static final SecureRandom RANDOM = new SecureRandom();
4040

4141
final int radius;
4242

typeobjectpattern/src/main/java/com/iluwatar/typeobject/CellPool.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -26,9 +26,9 @@
2626
import com.iluwatar.typeobject.Candy.Type;
2727

2828
import java.io.IOException;
29+
import java.security.SecureRandom;
2930
import java.util.ArrayList;
3031
import java.util.List;
31-
import java.util.Random;
3232
import org.json.simple.parser.ParseException;
3333

3434
/**
@@ -38,7 +38,7 @@
3838
*/
3939

4040
public class CellPool {
41-
private static final Random RANDOM = new Random();
41+
private static final SecureRandom RANDOM = new SecureRandom();
4242
public static final String FRUIT = "fruit";
4343
public static final String CANDY = "candy";
4444
List<Cell> pool;

update-method/src/main/java/com/iluwatar/updatemethod/World.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,9 @@
2323

2424
package com.iluwatar.updatemethod;
2525

26+
import java.security.SecureRandom;
2627
import java.util.ArrayList;
2728
import java.util.List;
28-
import java.util.Random;
2929

3030
import org.slf4j.Logger;
3131
import org.slf4j.LoggerFactory;
@@ -66,7 +66,7 @@ private void gameLoop() {
6666
*/
6767
private void processInput() {
6868
try {
69-
int lag = new Random().nextInt(200) + 50;
69+
int lag = new SecureRandom().nextInt(200) + 50;
7070
Thread.sleep(lag);
7171
} catch (InterruptedException e) {
7272
LOGGER.error(e.getMessage());

0 commit comments

Comments
 (0)