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)
    }
    
    
  • 相关阅读:
    ovs流表机制(四)用vxlan实现多个节点的vm通信(二)
    expect
    在Scrapy中使用Selenium
    Python网络编程
    Scrapy持久化存储
    Scrapy基础
    Selenium实例
    XML和XPATH
    猫眼电影爬取
    Request模块
  • 原文地址:https://www.cnblogs.com/egrep/p/11463545.html
Copyright © 2011-2022 走看看