alist/pkg/utils/hash.go

39 lines
643 B
Go
Raw Normal View History

2022-08-31 12:46:19 +00:00
package utils
import (
"crypto/md5"
"crypto/sha1"
2022-09-18 12:17:24 +00:00
"encoding/base64"
2022-08-31 12:46:19 +00:00
"encoding/hex"
2022-09-18 12:17:24 +00:00
"strings"
2022-08-31 12:46:19 +00:00
)
func GetSHA1Encode(data string) string {
h := sha1.New()
h.Write([]byte(data))
return hex.EncodeToString(h.Sum(nil))
}
func GetMD5Encode(data string) string {
h := md5.New()
h.Write([]byte(data))
return hex.EncodeToString(h.Sum(nil))
}
2022-09-18 12:17:24 +00:00
var DEC = map[string]string{
"-": "+",
"_": "/",
".": "=",
}
func SafeAtob(data string) (string, error) {
for k, v := range DEC {
data = strings.ReplaceAll(data, k, v)
}
bytes, err := base64.StdEncoding.DecodeString(data)
if err != nil {
return "", err
}
return string(bytes), err
}