diff --git a/jlib/misc/sudoku.h b/jlib/misc/sudoku.h
index 7d9d229281443f9d92b1b89390d73bb8b588d449..67f4f925ae0ec4ef961eb6cfcfc69371628b3f1f 100644
--- a/jlib/misc/sudoku.h
+++ b/jlib/misc/sudoku.h
@@ -5,8 +5,8 @@
 #include <string>
 #include <vector>
 #include <algorithm>
-#include <random>
 #include <chrono>
+#include "../util/rand.h"
 
 namespace jlib {
 namespace misc {
@@ -22,7 +22,7 @@ struct Helper {
 	int groups_of[N][GROUPS_OF]; // 每格属于3个组
 	int groups[GROUPS][9]; // 27个组 = 9行+9列+9块
 
-    std::default_random_engine rng{};
+    std::default_random_engine rng = jlib::seeded_random_engine();
 
     // 初始化辅助结构体,用户调用 solve 之前手动调用一次即可
     Helper() {
diff --git a/test/sudoku_clients/sudoku_clients.cpp b/test/sudoku_clients/sudoku_clients.cpp
index c1b8d611750ad7e4599870afd55bbb3aeea94b4d..097964dc5ca51a35cb5866f5f58d64d2a163541e 100644
--- a/test/sudoku_clients/sudoku_clients.cpp
+++ b/test/sudoku_clients/sudoku_clients.cpp
@@ -33,7 +33,7 @@ struct Client : simple_libevent_clients::BaseClient {
 		std::lock_guard<std::mutex> lg(mutex);
 		auto client = new Client();
 		client->puzzles = puzzles_to_solve_per_client;
-		client->helper.rng = jlib::seeded_random_engine();
+		//client->helper.rng = jlib::seeded_random_engine();
 		return client;
 	}