Albirew/nyaa-pantsu
Archivé
1
0
Bifurcation 0
Ce dépôt a été archivé le 2022-05-07. Vous pouvez voir ses fichiers ou le cloner, mais pas ouvrir de ticket ou de demandes d'ajout, ni soumettre de changements.
nyaa-pantsu/util/crypto/crypto.go

35 lignes
674 o
Go
Brut Vue normale Historique

package crypto
import (
"crypto/md5"
2017-05-06 22:14:02 +02:00
"crypto/rand"
"fmt"
"strings"
)
func GenerateMD5Hash(str string) (string, error) {
str = strings.ToLower(strings.TrimSpace(str))
hash := md5.New()
_, err := hash.Write([]byte(str))
if err != nil {
return "", err
}
return fmt.Sprintf("%x", hash.Sum(nil)), nil
}
func GenerateRandomToken16() (string, error) {
return GenerateRandomToken(16)
}
func GenerateRandomToken32() (string, error) {
return GenerateRandomToken(32)
}
func GenerateRandomToken(n int) (string, error) {
token := make([]byte, n)
_, err := rand.Read(token)
// %x base 16, lower-case, two characters per byte
return fmt.Sprintf("%x", token), err
}