From 55e428ea9d93e235429a46aa39e9706b1996bd78 Mon Sep 17 00:00:00 2001 From: dftre <3066417822@qq.com> Date: Tue, 7 Jan 2025 12:34:12 +0800 Subject: [PATCH] The random number generator implemented by 'new Random()' cannot withstand a cryptographic attack.Standard pseudorandom number generators cannot withstand cryptographic attacks. --- .../java/com/ruoyi/auth/common/utils/RandomCodeUtil.java | 4 ++-- .../java/com/ruoyi/framework/config/KaptchaTextCreator.java | 5 +++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/ruoyi-auth/ruoyi-auth-common/src/main/java/com/ruoyi/auth/common/utils/RandomCodeUtil.java b/ruoyi-auth/ruoyi-auth-common/src/main/java/com/ruoyi/auth/common/utils/RandomCodeUtil.java index 1156581..098e9c4 100644 --- a/ruoyi-auth/ruoyi-auth-common/src/main/java/com/ruoyi/auth/common/utils/RandomCodeUtil.java +++ b/ruoyi-auth/ruoyi-auth-common/src/main/java/com/ruoyi/auth/common/utils/RandomCodeUtil.java @@ -1,12 +1,12 @@ package com.ruoyi.auth.common.utils; -import java.util.Random; +import java.security.SecureRandom; public class RandomCodeUtil { public static String randomString(String characters, int length) { StringBuilder result = new StringBuilder(); - Random random = new Random(); + SecureRandom random = new SecureRandom(); for (int i = 0; i < length; i++) { int index = random.nextInt(characters.length()); diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/KaptchaTextCreator.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/KaptchaTextCreator.java index 7f8e1d5..211e9ab 100644 --- a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/KaptchaTextCreator.java +++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/KaptchaTextCreator.java @@ -1,6 +1,7 @@ package com.ruoyi.framework.config; -import java.util.Random; +import java.security.SecureRandom; + import com.google.code.kaptcha.text.impl.DefaultTextCreator; /** @@ -16,7 +17,7 @@ public class KaptchaTextCreator extends DefaultTextCreator public String getText() { Integer result = 0; - Random random = new Random(); + SecureRandom random = new SecureRandom(); int x = random.nextInt(10); int y = random.nextInt(10); StringBuilder suChinese = new StringBuilder();