diff --git a/client/service.go b/client/service.go
index 90d5b3a0..bac57167 100644
--- a/client/service.go
+++ b/client/service.go
@@ -19,6 +19,7 @@ import (
 	"crypto/tls"
 	"fmt"
 	"io"
+	"math/rand"
 	"net"
 	"runtime"
 	"strconv"
@@ -46,6 +47,8 @@ import (
 
 func init() {
 	crypto.DefaultSalt = "frp"
+	// TODO: remove this when we drop support for go1.19
+	rand.Seed(time.Now().UnixNano())
 }
 
 // Service is a client service.
diff --git a/cmd/frps/main.go b/cmd/frps/main.go
index a7c1e9b4..6ae5378b 100644
--- a/cmd/frps/main.go
+++ b/cmd/frps/main.go
@@ -15,6 +15,9 @@
 package main
 
 import (
+	"math/rand"
+	"time"
+
 	"github.com/fatedier/golib/crypto"
 
 	_ "github.com/fatedier/frp/assets/frps"
@@ -23,6 +26,8 @@ import (
 
 func main() {
 	crypto.DefaultSalt = "frp"
+	// TODO: remove this when we drop support for go1.19
+	rand.Seed(time.Now().UnixNano())
 
 	Execute()
 }