ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

Go 随机密码

2026/9/24 15:55:55 拓冰建站 浏览量
Go 随机密码

在这里插入图片描述

一.Go实现随机密码

  • 随机密码
package mainimport ("fmt""math/rand""os""strconv""time"
)func RandomPassword(num int)   {length := numif len(os.Args) > 1 {arg := os.Args[1]i, err := strconv.ParseInt(arg, 10, 64)if err != nil {fmt.Println("参数转换失败")return}if i < 4 || i > 30 {fmt.Println("密码长度介于4~30之间")return}length = int(i)}baseStr := "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"baseSymbol := "!@#$%^&*+-_=."fmt.Println("-----简单密码-----")for i := 0; i < 5; i++ {fmt.Println(getRandStr(baseStr, length))}fmt.Println("-----复杂密码-----")for i := 0; i < 5; i++ {fmt.Println(getRandStr(baseStr+baseSymbol, length))}
}func getRandStr(baseStr string, length int) string {r := rand.New(rand.NewSource(time.Now().UnixNano() + rand.Int63()))bytes := make([]byte, length)l := len(baseStr)for i := 0; i < length; i++ {bytes[i] = baseStr[r.Intn(l)]}return string(bytes)
}func main() {RandomPassword(25)
}