日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Zhong__Go随机密码生成器

發布時間:2023/12/14 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Zhong__Go随机密码生成器 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

時間:2021.09.01

環境:

目的:Go語言實現隨機密碼(字符串)

說明:

作者:Zhong QQ交流群:121160124 歡迎加入!

package mainimport ("fmt""math/rand""time""regexp""github.com/gookit/color" )// 指定要生成密碼的長度 var code_len int = 20func main() {color.Secondary.Printf("\n%30s\n", "********************")color.Secondary.Printf("%11s ", "*")color.Style{color.FgCyan, color.OpBold}.Printf("%s", "隨機密碼生成器")color.Secondary.Printf("%s\n", " *")color.Secondary.Printf("%30s\n\n", "********************")//創建隨機數種子 以時間參數rand.Seed(time.Now().UnixNano())//輸出10以內的正整數之中隨機一個數 0-9str_ls := perfect()for i:=0;i<10;i++ {generate_code(str_ls)}color.Info.Println("\n\nTips: 鼠標左鍵查看內容與鎖定程序 右鍵復制內容與釋放程序\n")// 定時退出n := 60tick := time.Tick(1 * time.Second)for exit_program := n; exit_program > 0; exit_program-- {color.Red.Printf("\r%ds 后將自動退出程序 ... ", exit_program)<-tick} }// 密碼元素 func perfect() []byte {//生成包含數字、字母和特殊符號的一個字符串列表 可自定義字符組合 因為字母數量多 可以適當多加入數字和特殊字符 注意不能含有不符合密碼規范的特殊字符str_ls := []byte {'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','0','1','2','3','4','5','6','7','8','9','0','1','2','3','4','5','6','7','8','9','@','$','*','!','?','.','@','$','*','!','?','.'}//去除易混淆的幾個字符del_ch := []byte {'0', '1', 'i', 'I', 'l', 'L', 'o', 'O'}for j:=0;j<len(del_ch);j++ {for k:=0;k<len(str_ls);k++ {if del_ch[j] == str_ls[k] {str_ls = append(str_ls[:k],str_ls[k+1:]...)}}}return str_ls }// 密碼生成函數 func generate_code(str_ls []byte) string {//字符列表 char_lschar_ls := []byte {}for i:=0;i<code_len;i++ {index := rand.Intn(len(str_ls))char := str_ls[index]char_ls = append(char_ls, char)}str := string(char_ls)//檢測生成的密碼是否是包含數字、字母、特殊符號的組合 如果不是那么重新生成if !regexp.MustCompile(`[0-9]`).MatchString(str) || !regexp.MustCompile(`[A-Z]`).MatchString(str) ||!regexp.MustCompile(`[a-z]`).MatchString(str) || !regexp.MustCompile(`[^a-zA-Z0-9]`).MatchString(str) {return generate_code(str_ls)} else {fmt.Printf("系統隨機生成的密碼為:\t")color.Style{color.OpBold, color.FgBlue}.Printf("%-20v\n", str)return str} }

關注微信公眾號? 加入QQ交流群

?

總結

以上是生活随笔為你收集整理的Zhong__Go随机密码生成器的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。