zoukankan      html  css  js  c++  java
  • 密码生成器

    密码生成器

    package main
    
    import (
    	"flag"
    	"fmt"
    	"math/rand"
    	"time"
    )
    
    var (
    	NUmStr = "0123456789"
    	ChanStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"
    	SpecStr = "+=-@#~,.[]()!%^*$"
    	MixtureStr = NUmStr+ChanStr+SpecStr
    )
    
    var (
    	lens int
    	num bool
    	char bool
    	mixture bool
    )
    
    func CommArgs(){
    	flag.IntVar(&lens,"len",6,"default len 5")
    	flag.BoolVar(&num,"num",false,"default false")
    	flag.BoolVar(&char,"char",false,"default false")
    	flag.BoolVar(&mixture,"mixture",false,"default false")
    }
    
    func init(){
    	CommArgs()
    	flag.Parse()
    	rand.Seed(time.Now().UnixNano())
    }
    
    func Getstr(b []byte,str string)string{
    	for i,_:=range b{
    		b[i] = str[rand.Intn(len(str))]
    
    	}
    	return string(b)
    }
    
    func Randstring(lens int)string{
    	 b := make([]byte,lens)
    	 var str string
    	if num {
    		str=Getstr(b,NUmStr)
    
    	}else if char {
    		str=Getstr(b,ChanStr)
    
    	}else{
    		str=Getstr(b,MixtureStr )
    	}
    	return  str
    }
    
    func main() {
    
    	if !num  && !char && !mixture  {
    		fmt.Println("comm args err")
    		return
    	}
    
    	str:=Randstring(lens)
    	fmt.Println(str)
    }
    
    
  • 相关阅读:
    Python replace()方法
    QQ传输协议分析
    子网与子网掩码的介绍
    每天撸点Linux
    对一次ARP欺骗分析
    中转注入
    第五篇学习笔记
    第四篇学习笔记
    第三篇学习笔记
    第二篇学习笔记
  • 原文地址:https://www.cnblogs.com/egrep/p/11463545.html
Copyright © 2011-2022 走看看