commit c0e0d63d91933c21634e5526eea58c6bbd99721d
parent 33754f6053e0452636ccfb48b42dfe6bc10f6578
Author: mdnrz <mehdeenoroozi@gmail.com>
Date: Wed, 16 Apr 2025 19:05:51 +0330
implement random token generation in server
Diffstat:
1 file changed, 27 insertions(+), 0 deletions(-)
diff --git a/server.go b/server.go
@@ -1,6 +1,9 @@
package main
import (
+ "os"
+ "math/big"
+ "crypto/rand"
"log"
"net"
"time"
@@ -169,7 +172,31 @@ func server(Client_q chan Client) {
}
}
+func genToken() {
+ max := big.NewInt(0xF)
+ var randInt *big.Int
+ var err error
+ var tokenStr string
+ for range [32]int{} {
+ randInt, err = rand.Int(rand.Reader, max)
+ if err != nil {
+ log.Fatalf("Could not generate random number: %s\n", err)
+ }
+ tokenStr = fmt.Sprintf(tokenStr + "%X", randInt)
+ }
+ tokenFile, err := os.Create("TOKEN")
+ if err != nil {
+ log.Fatalf("Could not create token file: %s\n", err)
+ }
+ _, err = tokenFile.WriteString(tokenStr)
+ if err != nil {
+ log.Fatalf("Could not write token file: %s\n", err)
+ }
+}
+
func main() {
+ genToken()
+ return;
ln, err := net.Listen("tcp", ":"+Port)
if err != nil {
log.Fatalf("Could not listen to port %s: %s\n", Port, err)