密码随机生成管理程序
一款随机生成各种样式密码的工具,同时可以对密码进行保存管理
程序运行界面

密码文本界面

说明
- 环境:windows系统应该都可以使用(没有具体测试)
- 没有做密码去重操作,用户自行更据时间前后来判断自己的密码
核心代码
func main() {
var length int //长度
var secret string //密码
fmt.Println()
fmt.Println("===================================随机密码生成器=======================================")
for {
fmt.Println("请输入想要生成的密码长度:")
fmt.Scan(&length)
fmt.Println("请选择生成密码格式:")
fmt.Println("1.数字 2.英文(abc) 3.数字英文(abc)混合 4.数字英文大小写混合 5.数字英文大小写+特殊符号 其他.结束程序 ")
var choose int //密码类型
fmt.Scan(&choose)
switch choose {
case 1:
fmt.Printf("正在生成 %d 位 数字 密码\n ", length)
secret = numSecret(length)
case 2:
fmt.Printf("正在生成 %d 位 英文(abc) 密码\n", length)
secret = letterSecret(length)
case 3:
fmt.Printf("正在生成 %d 位 数字英文(abc) 密码\n", length)
secret = numAndLetterSecret(length)
case 4:
fmt.Printf("正在生成 %d 位 数字英文大小写混合 密码\n", length)
secret = numAndEngSecret(length)
case 5:
fmt.Printf("正在生成 %d 位 数字英文大小写+特殊符号 密码\n", length)
secret = mySecret(length)
default:
fmt.Println("==========================================bye===========================================")
return
}
fmt.Printf("你所生成的密码为:%s \n", secret)
fmt.Println("是否保存密码?1-是,0-退出程序,其他数字-重新生成")
var a int
fmt.Scan(&a)
if a == 1 {
break
}else if a==0{
fmt.Println("==========================================bye===========================================")
return
}else {
continue
}
}
filePath := "secret"
file, err := os.OpenFile(filePath, os.O_WRONLY|os.O_CREATE|os.O_APPEND, 0666)
if err != nil {
fmt.Println("文件打开失败", err)
}
//及时关闭file句柄
defer file.Close()
write := bufio.NewWriter(file)
fmt.Println("请输入关键字(key):")
var key string
fmt.Scan(&key)
tm := time.Unix(time.Now().Unix(), 0)
createTime := tm.Format("2006-01-02 15:04:05 -0700 MST")
write.WriteString(createTime + "->" + key + ":" + secret + "\r\n")
write.Flush()
fmt.Println("保存成功!!!查看密码==》请使用记事本打开本目录下的 secret 文件")
fmt.Println("本程序将在10秒后自动关闭!!!")
time.Sleep(10 * time.Second)
fmt.Println("==========================================bye===========================================")
}

822

被折叠的 条评论
为什么被折叠?



