Files
EdgeAPI/internal/utils/sha1.go

23 lines
542 B
Go
Raw Normal View History

2024-07-27 14:15:25 +08:00
// Copyright 2022 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cloud .
2022-07-17 11:00:14 +08:00
package utils
import (
"crypto/sha1"
"fmt"
"sync/atomic"
"time"
2024-07-27 14:15:25 +08:00
"github.com/iwind/TeaGo/rands"
"github.com/iwind/TeaGo/types"
2022-07-17 11:00:14 +08:00
)
const sha1RandomPrefix = "SHA1_RANDOM"
var sha1Id int64 = 0
func Sha1RandomString() string {
var s = sha1RandomPrefix + types.String(time.Now().UnixNano()) + "@" + types.String(rands.Int64()) + "@" + types.String(atomic.AddInt64(&sha1Id, 1))
return fmt.Sprintf("%x", sha1.Sum([]byte(s)))
}