小地鼠防止有人偷他的果实,在家里上了一把锁。这个锁怎么来的呢?请往下看。。

package mainimport ("flag""fmt""math/rand""time"
)var (length  intcharset string
)const (NUmStr  = "0123456789"CharStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"SpecStr = "+=-@#~,.[]()!%^*$"
)//解析参数
func parseArgs() {//需要接受指针,就传递地址,&flag.IntVar(&length, "l", 16, "-l 生成密码的长度")flag.StringVar(&charset, "t", "num",//反引号以原样输出`-t 制定密码生成的字符集,num:只使用数字[0-9],char:只使用英文字母[a-zA-Z],mix:使用数字和字母,advance:使用数字、字母以及特殊字符`)flag.Parse()
}//检测字符串中的空格
func test1() {for i := 0; i < len(CharStr); i++ {if CharStr[i] != ' ' {fmt.Printf("%c", CharStr[i])}}
}func generatePasswd() string {//初始化密码切片var passwd []byte = make([]byte, length, length)//源字符串var sourceStr string//判断字符类型,如果是数字if charset == "num" {sourceStr = NUmStr//如果选的是字符} else if charset == "char" {sourceStr = charset//如果选的是混合模式} else if charset == "mix" {sourceStr = fmt.Sprintf("%s%s", NUmStr, CharStr)//如果选的是高级模式} else if charset == "advance" {sourceStr = fmt.Sprintf("%s%s%s", NUmStr, CharStr, SpecStr)} else {sourceStr = NUmStr}fmt.Println("source:", sourceStr)//遍历,生成一个随机index索引,for i := 0; i < length; i++ {index := rand.Intn(len(sourceStr))passwd[i] = sourceStr[index]}return string(passwd)
}func main() {//随机种子
    rand.Seed(time.Now().UnixNano())parseArgs()fmt.Printf("length:%d charset:%s\n", length, charset)//test1()passwd := generatePasswd()fmt.Println(passwd)fmt.Printf("length:%d charset:%s\n", length, charset)
}

效果呢?

转载于:https://www.cnblogs.com/pyyu/p/8664255.html

Golang实现一个密码生成器相关推荐

  1. c语言中定义密码为英文字母,请设计 一个密码生成器,要求随机生成4组10位密码(C语言)...

    请设计 一个密码生成器,要求随机生成4组10位密码(密码只能由字母和数字组成),每一组必须包含至少一个大写字母,每组密码不能相同,输出生成的密码. #include #include #include ...

  2. 四位密码器c语言编程,请设计 一个密码生成器,要求随机生成4组10位密码(C语言)...

    请设计 一个密码生成器,要求随机生成4组10位密码(密码只能由字母和数字组成),每一组必须包含至少一个大写字母,每组密码不能相同,输出生成的密码. #include #include #include ...

  3. 用APPinventor制作一个密码生成器

    今天,小编教大家制作一个密码生成器. 材料:一台装有APPinventor2018(最低版本)电脑. 启动APPinventor 参照小编的<离线版AppInventor搭建服务教程> A ...

  4. 用python写一个密码生成器函数

    用python写一个密码生成器函数 ## 本文流程 密码要求 我们对密码生成器的要求是: 至少包含一个大写字母(A-Z) 至少包含一个小写字母(a-z) 至少包含一个数字(0-9) 至少包含一个特殊字 ...

  5. 密码生成器c语言程序,请设计 一个密码生成器,要求随机生成4组10位密码(C语言)...

    请设计 一个密码生成器,要求随机生成4组10位密码(密码只能由字母和数字组成),每一组必须包含至少一个大写字母,每组密码不能相同,输出生成的密码. #include #include #include ...

  6. 从此不怕被盗号:教你如何用 Python 制作一个密码生成器

    原由: 定期更换密码是一种非常重要的安全措施,这种做法可以有效地保护你的账户和个人信息不受黑客和网络攻击者的侵害. 密码泄露是一个非常普遍的问题,许多人的账户和密码经常会被泄露出来,导致个人信息被盗用 ...

  7. 资源分享——Java实现的密码生成器

    一个密码生成器,为了应付各种网站的注册问题. 生成的密码位数默认为12位,字母.数字.符号 废话不多说,直接上图,上源码 打开密码记录可以看到保存过的账号和密码,文件保存在相对路径下. import ...

  8. Python 小项目 密码生成器

    欢迎来到<Python 小项目>专栏,这个专栏会不定时更新Python的小项目,大家可以订阅关注哦! 这次,我们要编写一个密码生成器,先看效果: 密码长度:10 密码:pEIMX_JUbR ...

  9. pythongui登录界面密码显示_用python写一个带有gui界面的密码生成器

    需要用到的库: tkinter:构建gui界面 pyperclip:复制功能 random:生成随机数 string:处理字符串 代码: from tkinter import * import ra ...

最新文章

  1. Google App Engine(GAE)入门教程翻译
  2. linux 内核 netfilter 网络过滤模块 (3)-NAT
  3. am大学计算机科学,德克萨斯AM大学TAMU(Texas AM University )计算机科学Computer Science专业排名第201-250位(2021年THE世界大学商科排名)...
  4. python映射类型-Python中的映射数据类型 dict
  5. java rmi 还有用吗_java rmi使用后的感想
  6. jmeter连接MySQL出错_MySQL数据库之jmeter连接mysql数据库报错Cannot create PoolableConnectionFactory...
  7. mybatis jar包_springboot2整合mybatis-plus3踩到的坑
  8. 【渝粤题库】广东开放大学 民事诉讼法 形成性考核
  9. 【Pytorch神经网络理论篇】 08 Softmax函数(处理分类问题)
  10. 【洛谷3157】[CQOI2011] 动态逆序对(CDQ分治)
  11. oppo9s刷机教程_OPPO R9s刷机教程_OPPO R9s卡刷升级更新官方系统包
  12. 传值中处理jsp中文乱码问题
  13. 计算机开机高级设置密码,给电脑设置开机密码
  14. 手机短号 (多实例)
  15. 【Proteus仿真】Arduino UNO + PCF8563 +LCD1602时间显示
  16. 神经网络模型量化论文小结
  17. quantopian寻找策略之mean_reversion
  18. 人到中年——IT男择业感悟
  19. 使用js定时器实现倒计时功能
  20. 2019年苹果iOS App上架详细图文教程

热门文章

  1. Docker认识、安装及使用(windows7)
  2. 用户细分_基于购买历史的用户细分
  3. VC 2010的MFC函数,CMFCVisualManager::GetInstance()可能导致内存泄露
  4. android 自定义wifi设置在哪里,Android Wifi的设置、连接操作
  5. 能跑java的服务器_一台java服务器可以跑多少个线程?
  6. matlab 三维高程根据图片颜色给对应点赋予颜色
  7. MKL学习——数学运算库安装调试
  8. 【混淆矩阵】matlab画混淆矩阵
  9. python -pass的用法
  10. NO.8:自学python之路------并行socket网络编程