<\/span><\/h1>\n\n\n\npackage main\n\nimport (\n \"fmt\"\n \"math\/rand\"\n \"strings\"\n \"time\"\n)\n\nvar (\n lowerCharSet = \"abcdedfghijklmnopqrst\"\n upperCharSet = \"ABCDEFGHIJKLMNOPQRSTUVWXYZ\"\n specialCharSet = \"!@#$%&*\"\n numberSet = \"0123456789\"\n allCharSet = lowerCharSet + upperCharSet + specialCharSet + numberSet\n)\n\nfunc main() {\n rand.Seed(time.Now().Unix())\n minSpecialChar := 1\n minNum := 1\n minUpperCase := 1\n passwordLength := 8\n password := generatePassword(passwordLength, minSpecialChar, minNum, minUpperCase)\n fmt.Println(password)\n\n minSpecialChar = 2\n minNum = 2\n minUpperCase = 2\n passwordLength = 20\n password = generatePassword(passwordLength, minSpecialChar, minNum, minUpperCase)\n fmt.Println(password)\n}\n\nfunc generatePassword(passwordLength, minSpecialChar, minNum, minUpperCase int) string {\n var password strings.Builder\n\n \/\/Set special character\n for i := 0; i < minSpecialChar; i++ {\n random := rand.Intn(len(specialCharSet))\n password.WriteString(string(specialCharSet[random]))\n }\n\n \/\/Set numeric\n for i := 0; i < minNum; i++ {\n random := rand.Intn(len(numberSet))\n password.WriteString(string(numberSet[random]))\n }\n\n \/\/Set uppercase\n for i := 0; i < minUpperCase; i++ {\n random := rand.Intn(len(upperCharSet))\n password.WriteString(string(upperCharSet[random]))\n }\n\n remainingLength := passwordLength - minSpecialChar - minNum - minUpperCase\n for i := 0; i < remainingLength; i++ {\n random := rand.Intn(len(allCharSet))\n password.WriteString(string(allCharSet[random]))\n }\n inRune := []rune(password.String())\n\trand.Shuffle(len(inRune), func(i, j int) {\n\t\tinRune[i], inRune[j] = inRune[j], inRune[i]\n\t})\n\treturn string(inRune)\n}<\/code><\/pre>\n\n\n\nOutput<\/strong><\/p>\n\n\n\nOutput will be different on your machine<\/p>\n\n\n\n
e$e&tD19\n4T$&Qmg2rA4DXD5a2OGs<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"Table of Contents OverviewCode Overview ‘math\/rand’ package of golang contains an Intn function that can be used to generate a pseudo-random number between [0,n). The bracket at the end means that n…<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"spay_email":"","footnotes":"","jetpack_publicize_message":"","jetpack_is_tweetstorm":false},"categories":[1],"tags":[3,4,258],"class_list":["post-1908","post","type-post","status-publish","format-standard","hentry","category-tech","tag-go","tag-golang","tag-random-password"],"yoast_head":"\n
Generate a random password in Go (Golang) - Welcome To Golang By Example<\/title>\n \n \n \n \n \n \n \n \n \n \n \n \n \n\t \n\t \n\t \n