Files
gb-cms/temp_pwd.go

48 lines
924 B
Go

package main
import (
"crypto/md5"
"encoding/hex"
"math/rand"
"os"
"time"
)
func GenerateTempPwd() string {
// 根据字母数字符号生成12位随机密码
// 字母数字符号
const letters = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*()"
// 随机数
rand.Seed(time.Now().UnixNano())
// 生成12位随机密码
b := make([]byte, 12)
for i := range b {
b[i] = letters[rand.Intn(len(letters))]
}
return string(b)
}
// ReadTempPwd 读取临时密码
func ReadTempPwd() (plaintext string, md5Hex string) {
// 从文件中读取密码
pwd, err := os.ReadFile("./data/pwd.txt")
if err != nil {
// 生成密码
plaintext = "admin"
// 计算md5
hash := md5.Sum([]byte(plaintext))
pwd = []byte(hex.EncodeToString(hash[:]))
// 写入文件
err = os.WriteFile("./data/pwd.txt", pwd, 0644)
if err != nil {
panic(err)
}
}
md5Hex = string(pwd)
return
}