This is an automated email from the ASF dual-hosted git repository.

ahuber pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/isis.git


The following commit(s) were added to refs/heads/master by this push:
     new b44945cd7f ISIS-2297: use SecureRandom over Random in _CryptFactory
b44945cd7f is described below

commit b44945cd7f8b10a2764e45112d44d6c1af8cbcca
Author: Andi Huber <[email protected]>
AuthorDate: Mon Apr 11 13:09:48 2022 +0200

    ISIS-2297: use SecureRandom over Random in _CryptFactory
---
 .../isis/viewer/wicket/viewer/wicketapp/_CryptFactory.java   | 12 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)

diff --git 
a/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/wicketapp/_CryptFactory.java
 
b/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/wicketapp/_CryptFactory.java
index 2694371228..50a71a2404 100644
--- 
a/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/wicketapp/_CryptFactory.java
+++ 
b/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/wicketapp/_CryptFactory.java
@@ -18,6 +18,7 @@
  */
 package org.apache.isis.viewer.wicket.viewer.wicketapp;
 
+import java.security.SecureRandom;
 import java.security.spec.KeySpec;
 import java.util.Random;
 
@@ -82,23 +83,24 @@ class _CryptFactory {
     private byte[] getSalt(final int size, final String encryptionKey) {
         final byte[] salt = FIXED_SALT_FOR_PROTOTYPING.equals(encryptionKey)
                 ? machineFixedSalt(size)
-                : randomSalt(size);
+                : secureSalt(size);
         return salt;
     }
 
     /**
-     * cloned from {@link SunJceCrypt#randomSalt()}
+     * Cloned from {@link SunJceCrypt#randomSalt()},
+     * but using {@link SecureRandom} instead of {@link Random}.
      */
-    private byte[] randomSalt(final int size) {
+    private byte[] secureSalt(final int size) {
         val salt = new byte[size];
-        new Random().nextBytes(salt);
+        new SecureRandom().nextBytes(salt);
         return salt;
     }
 
     private byte[] machineFixedSalt(final int size) {
         val machineFixedSeed = _OsUtil.machineId();
         if(machineFixedSeed.isEmpty()){
-            return randomSalt(size);
+            return secureSalt(size);
         }
         val salt = new byte[size];
         new Random(machineFixedSeed.getAsLong()).nextBytes(salt);

Reply via email to