mirror of
https://github.com/Rain-kl/OpenFlare.git
synced 2026-09-28 05:46:36 +08:00
63cd906cfc
- Merge all files inside openflare-server to the repository root directory. - Relocate agent, relay, and flared subprojects from internal/ to internal/apps/. - Combine docker-compose files and update build context paths to root. - Update GitHub workflows and Dockerfiles to refer to new directories and package names. - Rewrite Go package imports across all files. - Resolve database renew test race condition and clean up docs.
30 lines
703 B
Go
30 lines
703 B
Go
// Copyright 2025 linux.do
|
|
// Copyright 2026 Arctel.net
|
|
// SPDX-License-Identifier: Apache-2.0
|
|
|
|
package util
|
|
|
|
import (
|
|
"crypto/rand"
|
|
"crypto/sha256"
|
|
"encoding/hex"
|
|
"io"
|
|
|
|
"github.com/google/uuid"
|
|
)
|
|
|
|
// uniqueIDBytes 生成唯一 ID 所需的随机字节长度
|
|
const uniqueIDBytes = 32
|
|
|
|
// GenerateUniqueIDSimple 生成 64 位唯一标识符
|
|
func GenerateUniqueIDSimple() string {
|
|
randomBytes := make([]byte, uniqueIDBytes)
|
|
if _, err := io.ReadFull(rand.Reader, randomBytes); err != nil {
|
|
// 如果随机数生成失败,使用 UUID 作为后备
|
|
uuidBytes := []byte(uuid.NewString())
|
|
hash := sha256.Sum256(uuidBytes)
|
|
copy(randomBytes, hash[:])
|
|
}
|
|
return hex.EncodeToString(randomBytes)
|
|
}
|