aboutsummaryrefslogtreecommitdiff
path: root/token.go
diff options
context:
space:
mode:
authorRunxi Yu <me@runxiyu.org>2025-03-23 18:24:46 +0800
committerRunxi Yu <me@runxiyu.org>2025-03-23 18:24:46 +0800
commitf9cbee2dcca4f0ebca01d8f37fdddddafbf93d38 (patch)
treef27bf62f3162b40924881dac071bc9ab230f80ed /token.go
parentReformat (diff)
downloadpowxy-f9cbee2dcca4f0ebca01d8f37fdddddafbf93d38.tar.gz
powxy-f9cbee2dcca4f0ebca01d8f37fdddddafbf93d38.tar.zst
powxy-f9cbee2dcca4f0ebca01d8f37fdddddafbf93d38.zip
Rename token.go to identifier.gov0.1.0
Diffstat (limited to 'token.go')
-rw-r--r--token.go43
1 files changed, 0 insertions, 43 deletions
diff --git a/token.go b/token.go
deleted file mode 100644
index 6da0e7c..0000000
--- a/token.go
+++ /dev/null
@@ -1,43 +0,0 @@
-// SPDX-License-Identifier: BSD-2-Clause
-// SPDX-FileCopyrightText: Copyright (c) 2025 Runxi Yu <https://runxiyu.org>
-
-package main
-
-import (
- "crypto/hmac"
- "crypto/sha256"
- "encoding/binary"
- "net/http"
- "time"
-)
-
-func makeIdentifierMAC(request *http.Request) (identifier []byte, mac []byte) {
- identifier = make([]byte, 0, sha256.Size)
- mac = make([]byte, 0, sha256.Size)
-
- timeBuf := make([]byte, binary.MaxVarintLen64)
- binary.PutVarint(timeBuf, time.Now().Unix()/604800)
-
- remoteIP := getRemoteIP(request)
-
- h := sha256.New()
- h.Write(timeBuf)
- h.Write(stringToBytes(remoteIP))
- h.Write(stringToBytes(request.Header.Get("User-Agent")))
- h.Write(stringToBytes(request.Header.Get("Accept-Encoding")))
- h.Write(stringToBytes(request.Header.Get("Accept-Language")))
- h.Write(privkeyHash)
- identifier = h.Sum(identifier)
- if len(identifier) != sha256.Size {
- panic("unexpected buffer length after hashing contents")
- }
-
- m := hmac.New(sha256.New, privkey)
- m.Write(identifier)
- mac = m.Sum(mac)
- if len(mac) != sha256.Size {
- panic("unexpected buffer length after hmac")
- }
-
- return
-}