diff --git a/commander/src/main/java/com/iluwatar/commander/Order.java b/commander/src/main/java/com/iluwatar/commander/Order.java index ffc93cb59..ff2909237 100644 --- a/commander/src/main/java/com/iluwatar/commander/Order.java +++ b/commander/src/main/java/com/iluwatar/commander/Order.java @@ -23,8 +23,8 @@ package com.iluwatar.commander; +import java.security.SecureRandom; import java.util.Hashtable; -import java.util.Random; /** * Order class holds details of the order. @@ -45,7 +45,7 @@ public class Order { //can store all transactions ids also public final String id; final float price; final long createdTime; - private static final Random RANDOM = new Random(); + private static final SecureRandom RANDOM = new SecureRandom(); private static final String ALL_CHARS = "ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890"; private static final Hashtable USED_IDS = new Hashtable(); PaymentStatus paid; diff --git a/commander/src/main/java/com/iluwatar/commander/Retry.java b/commander/src/main/java/com/iluwatar/commander/Retry.java index e22990412..440e52f19 100644 --- a/commander/src/main/java/com/iluwatar/commander/Retry.java +++ b/commander/src/main/java/com/iluwatar/commander/Retry.java @@ -23,10 +23,10 @@ package com.iluwatar.commander; +import java.security.SecureRandom; import java.util.ArrayList; import java.util.Arrays; import java.util.List; -import java.util.Random; import java.util.concurrent.atomic.AtomicInteger; import java.util.function.Predicate; @@ -56,7 +56,7 @@ public class Retry { void handleIssue(T obj, Exception e); } - private static final Random RANDOM = new Random(); + private static final SecureRandom RANDOM = new SecureRandom(); private final Operation op; private final HandleErrorIssue handleError; diff --git a/commander/src/main/java/com/iluwatar/commander/Service.java b/commander/src/main/java/com/iluwatar/commander/Service.java index 16f3da1dc..f063efd40 100644 --- a/commander/src/main/java/com/iluwatar/commander/Service.java +++ b/commander/src/main/java/com/iluwatar/commander/Service.java @@ -24,10 +24,11 @@ package com.iluwatar.commander; import com.iluwatar.commander.exceptions.DatabaseUnavailableException; + +import java.security.SecureRandom; import java.util.ArrayList; import java.util.Hashtable; import java.util.List; -import java.util.Random; /** * 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 { protected final Database database; public ArrayList exceptionsList; - private static final Random RANDOM = new Random(); + private static final SecureRandom RANDOM = new SecureRandom(); private static final String ALL_CHARS = "ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890"; private static final Hashtable USED_IDS = new Hashtable<>(); diff --git a/event-asynchronous/src/main/java/com/iluwatar/event/asynchronous/EventManager.java b/event-asynchronous/src/main/java/com/iluwatar/event/asynchronous/EventManager.java index 400920705..abd3e9be4 100644 --- a/event-asynchronous/src/main/java/com/iluwatar/event/asynchronous/EventManager.java +++ b/event-asynchronous/src/main/java/com/iluwatar/event/asynchronous/EventManager.java @@ -23,8 +23,8 @@ package com.iluwatar.event.asynchronous; +import java.security.SecureRandom; import java.util.Map; -import java.util.Random; import java.util.concurrent.ConcurrentHashMap; /** @@ -43,7 +43,7 @@ public class EventManager implements ThreadCompleteListener { public static final int MAX_ID = MAX_RUNNING_EVENTS; public static final int MAX_EVENT_TIME = 1800; // in seconds / 30 minutes. private int currentlyRunningSyncEvent = -1; - private final Random rand; + private final SecureRandom rand; private final Map eventPool; private static final String DOES_NOT_EXIST = " does not exist."; @@ -52,7 +52,7 @@ public class EventManager implements ThreadCompleteListener { * EventManager constructor. */ public EventManager() { - rand = new Random(1); + rand = new SecureRandom(); eventPool = new ConcurrentHashMap(MAX_RUNNING_EVENTS); } diff --git a/game-loop/src/main/java/com/iluwatar/gameloop/GameLoop.java b/game-loop/src/main/java/com/iluwatar/gameloop/GameLoop.java index 1ed1e9771..739b47a16 100644 --- a/game-loop/src/main/java/com/iluwatar/gameloop/GameLoop.java +++ b/game-loop/src/main/java/com/iluwatar/gameloop/GameLoop.java @@ -23,7 +23,7 @@ package com.iluwatar.gameloop; -import java.util.Random; +import java.security.SecureRandom; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -80,7 +80,7 @@ public abstract class GameLoop { */ protected void processInput() { try { - var lag = new Random().nextInt(200) + 50; + var lag = new SecureRandom().nextInt(200) + 50; Thread.sleep(lag); } catch (InterruptedException e) { logger.error(e.getMessage()); diff --git a/hexagonal/src/main/java/com/iluwatar/hexagonal/domain/LotteryNumbers.java b/hexagonal/src/main/java/com/iluwatar/hexagonal/domain/LotteryNumbers.java index 3e46b8113..4672b7688 100644 --- a/hexagonal/src/main/java/com/iluwatar/hexagonal/domain/LotteryNumbers.java +++ b/hexagonal/src/main/java/com/iluwatar/hexagonal/domain/LotteryNumbers.java @@ -24,10 +24,10 @@ package com.iluwatar.hexagonal.domain; import com.google.common.base.Joiner; +import java.security.SecureRandom; import java.util.Collections; import java.util.HashSet; import java.util.PrimitiveIterator; -import java.util.Random; import java.util.Set; /** @@ -126,7 +126,7 @@ public class LotteryNumbers { * @param max the max value (inclusive) */ public RandomNumberGenerator(int min, int max) { - randomIterator = new Random().ints(min, max + 1).iterator(); + randomIterator = new SecureRandom().ints(min, max + 1).iterator(); } /** diff --git a/hexagonal/src/main/java/com/iluwatar/hexagonal/sampledata/SampleData.java b/hexagonal/src/main/java/com/iluwatar/hexagonal/sampledata/SampleData.java index 130f3b92e..9baa35179 100644 --- a/hexagonal/src/main/java/com/iluwatar/hexagonal/sampledata/SampleData.java +++ b/hexagonal/src/main/java/com/iluwatar/hexagonal/sampledata/SampleData.java @@ -30,9 +30,9 @@ import com.iluwatar.hexagonal.domain.LotteryService; import com.iluwatar.hexagonal.domain.LotteryTicket; import com.iluwatar.hexagonal.domain.LotteryTicketId; import com.iluwatar.hexagonal.domain.PlayerDetails; +import java.security.SecureRandom; import java.util.AbstractMap.SimpleEntry; import java.util.List; -import java.util.Random; import java.util.stream.Collectors; /** @@ -41,7 +41,7 @@ import java.util.stream.Collectors; public class SampleData { private static final List PLAYERS; - private static final Random RANDOM = new Random(); + private static final SecureRandom RANDOM = new SecureRandom(); static { PLAYERS = List.of( diff --git a/leader-followers/src/main/java/com/iluwatar/leaderfollowers/App.java b/leader-followers/src/main/java/com/iluwatar/leaderfollowers/App.java index 924483e0b..b28331b1c 100644 --- a/leader-followers/src/main/java/com/iluwatar/leaderfollowers/App.java +++ b/leader-followers/src/main/java/com/iluwatar/leaderfollowers/App.java @@ -23,7 +23,7 @@ package com.iluwatar.leaderfollowers; -import java.util.Random; +import java.security.SecureRandom; import java.util.concurrent.Executors; import java.util.concurrent.TimeUnit; @@ -84,7 +84,7 @@ public class App { * Add tasks. */ private static void addTasks(TaskSet taskSet) throws InterruptedException { - var rand = new Random(); + var rand = new SecureRandom(); for (var i = 0; i < 5; i++) { var time = Math.abs(rand.nextInt(1000)); taskSet.addTask(new Task(time)); diff --git a/master-worker-pattern/src/main/java/com/iluwatar/masterworker/ArrayUtilityMethods.java b/master-worker-pattern/src/main/java/com/iluwatar/masterworker/ArrayUtilityMethods.java index 1be04a7aa..c4ca47b95 100644 --- a/master-worker-pattern/src/main/java/com/iluwatar/masterworker/ArrayUtilityMethods.java +++ b/master-worker-pattern/src/main/java/com/iluwatar/masterworker/ArrayUtilityMethods.java @@ -23,7 +23,7 @@ package com.iluwatar.masterworker; -import java.util.Random; +import java.security.SecureRandom; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -35,7 +35,7 @@ public class ArrayUtilityMethods { private static final Logger LOGGER = LoggerFactory.getLogger(ArrayUtilityMethods.class); - private static final Random RANDOM = new Random(); + private static final SecureRandom RANDOM = new SecureRandom(); /** * Method arraysSame compares 2 arrays @param a1 and @param a2 and @return whether their values diff --git a/producer-consumer/src/main/java/com/iluwatar/producer/consumer/Producer.java b/producer-consumer/src/main/java/com/iluwatar/producer/consumer/Producer.java index 010c5f93c..e34de106d 100644 --- a/producer-consumer/src/main/java/com/iluwatar/producer/consumer/Producer.java +++ b/producer-consumer/src/main/java/com/iluwatar/producer/consumer/Producer.java @@ -23,7 +23,7 @@ package com.iluwatar.producer.consumer; -import java.util.Random; +import java.security.SecureRandom; /** * Class responsible for producing unit of work that can be expressed as {@link Item} and submitted @@ -31,7 +31,7 @@ import java.util.Random; */ public class Producer { - private static final Random RANDOM = new Random(); + private static final SecureRandom RANDOM = new SecureRandom(); private final ItemQueue queue; diff --git a/sharding/src/main/java/com/iluwatar/sharding/LookupShardManager.java b/sharding/src/main/java/com/iluwatar/sharding/LookupShardManager.java index ba530f15a..2e23bc946 100644 --- a/sharding/src/main/java/com/iluwatar/sharding/LookupShardManager.java +++ b/sharding/src/main/java/com/iluwatar/sharding/LookupShardManager.java @@ -23,9 +23,9 @@ package com.iluwatar.sharding; +import java.security.SecureRandom; import java.util.HashMap; import java.util.Map; -import java.util.Random; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -58,7 +58,7 @@ public class LookupShardManager extends ShardManager { return lookupMap.get(key); } else { var shardCount = shardMap.size(); - return new Random().nextInt(shardCount - 1) + 1; + return new SecureRandom().nextInt(shardCount - 1) + 1; } } diff --git a/spatial-partition/src/main/java/com/iluwatar/spatialpartition/App.java b/spatial-partition/src/main/java/com/iluwatar/spatialpartition/App.java index 5534fde5d..6138cc5d9 100644 --- a/spatial-partition/src/main/java/com/iluwatar/spatialpartition/App.java +++ b/spatial-partition/src/main/java/com/iluwatar/spatialpartition/App.java @@ -23,8 +23,8 @@ package com.iluwatar.spatialpartition; +import java.security.SecureRandom; import java.util.HashMap; -import java.util.Random; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -112,7 +112,7 @@ public class App { public static void main(String[] args) { var bubbles1 = new HashMap(); var bubbles2 = new HashMap(); - var rand = new Random(); + var rand = new SecureRandom(); for (int i = 0; i < 10000; i++) { var b = new Bubble(rand.nextInt(300), rand.nextInt(300), i, rand.nextInt(2) + 1); bubbles1.put(i, b); diff --git a/spatial-partition/src/main/java/com/iluwatar/spatialpartition/Bubble.java b/spatial-partition/src/main/java/com/iluwatar/spatialpartition/Bubble.java index a9a9d4562..668da581e 100644 --- a/spatial-partition/src/main/java/com/iluwatar/spatialpartition/Bubble.java +++ b/spatial-partition/src/main/java/com/iluwatar/spatialpartition/Bubble.java @@ -23,9 +23,9 @@ package com.iluwatar.spatialpartition; +import java.security.SecureRandom; import java.util.Collection; import java.util.HashMap; -import java.util.Random; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -36,7 +36,7 @@ import org.slf4j.LoggerFactory; public class Bubble extends Point { private static final Logger LOGGER = LoggerFactory.getLogger(Bubble.class); - private static final Random RANDOM = new Random(); + private static final SecureRandom RANDOM = new SecureRandom(); final int radius; diff --git a/typeobjectpattern/src/main/java/com/iluwatar/typeobject/CellPool.java b/typeobjectpattern/src/main/java/com/iluwatar/typeobject/CellPool.java index 3ca79cab6..5f49a3a2c 100644 --- a/typeobjectpattern/src/main/java/com/iluwatar/typeobject/CellPool.java +++ b/typeobjectpattern/src/main/java/com/iluwatar/typeobject/CellPool.java @@ -26,9 +26,9 @@ package com.iluwatar.typeobject; import com.iluwatar.typeobject.Candy.Type; import java.io.IOException; +import java.security.SecureRandom; import java.util.ArrayList; import java.util.List; -import java.util.Random; import org.json.simple.parser.ParseException; /** @@ -38,7 +38,7 @@ import org.json.simple.parser.ParseException; */ public class CellPool { - private static final Random RANDOM = new Random(); + private static final SecureRandom RANDOM = new SecureRandom(); public static final String FRUIT = "fruit"; public static final String CANDY = "candy"; List pool; diff --git a/update-method/src/main/java/com/iluwatar/updatemethod/World.java b/update-method/src/main/java/com/iluwatar/updatemethod/World.java index 89f8d726f..696fca5c0 100644 --- a/update-method/src/main/java/com/iluwatar/updatemethod/World.java +++ b/update-method/src/main/java/com/iluwatar/updatemethod/World.java @@ -23,9 +23,9 @@ package com.iluwatar.updatemethod; +import java.security.SecureRandom; import java.util.ArrayList; import java.util.List; -import java.util.Random; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -66,7 +66,7 @@ public class World { */ private void processInput() { try { - int lag = new Random().nextInt(200) + 50; + int lag = new SecureRandom().nextInt(200) + 50; Thread.sleep(lag); } catch (InterruptedException e) { LOGGER.error(e.getMessage());