mirror of
https://github.com/TeaOSLab/EdgeAPI.git
synced 2025-11-02 22:10:26 +08:00
23 lines
542 B
Go
23 lines
542 B
Go
// Copyright 2022 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cloud .
|
|
|
|
package utils
|
|
|
|
import (
|
|
"crypto/sha1"
|
|
"fmt"
|
|
"sync/atomic"
|
|
"time"
|
|
|
|
"github.com/iwind/TeaGo/rands"
|
|
"github.com/iwind/TeaGo/types"
|
|
)
|
|
|
|
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)))
|
|
}
|