123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596 |
- /**********************************************
- ** @Des: This file ...
- ** @Author: haodaquan
- ** @Date: 2017-09-08 00:24:25
- ** @Last Modified by: haodaquan
- ** @Last Modified time: 2017-09-17 10:12:06
- ***********************************************/
- package libs
- import (
- "crypto/md5"
- "fmt"
- "math/rand"
- "regexp"
- "time"
- "github.com/bitly/go-simplejson"
- "strconv"
- "encoding/json"
- )
- var emailPattern = regexp.MustCompile("[\\w!#$%&'*+/=?^_`{|}~-]+(?:\\.[\\w!#$%&'*+/=?^_`{|}~-]+)*@(?:[\\w](?:[\\w-]*[\\w])?\\.)+[a-zA-Z0-9](?:[\\w-]*[\\w])?")
- func Md5(buf []byte) string {
- hash := md5.New()
- hash.Write(buf)
- return fmt.Sprintf("%x", hash.Sum(nil))
- }
- func SizeFormat(size float64) string {
- units := []string{"Byte", "KB", "MB", "GB", "TB"}
- n := 0
- for size > 1024 {
- size /= 1024
- n += 1
- }
- return fmt.Sprintf("%.2f %s", size, units[n])
- }
- func IsEmail(b []byte) bool {
- return emailPattern.Match(b)
- }
- func Password(len int, pwdO string) (pwd string, salt string) {
- salt = GetRandomString(4)
- defaultPwd := "george518"
- if pwdO != "" {
- defaultPwd = pwdO
- }
- pwd = Md5([]byte(defaultPwd + salt))
- return pwd, salt
- }
- // 生成32位MD5
- // func MD5(text string) string{
- // ctx := md5.New()
- // ctx.Write([]byte(text))
- // return hex.EncodeToString(ctx.Sum(nil))
- // }
- //生成随机字符串
- func GetRandomString(lens int) string {
- str := "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
- bytes := []byte(str)
- result := []byte{}
- r := rand.New(rand.NewSource(time.Now().UnixNano()))
- for i := 0; i < lens; i++ {
- result = append(result, bytes[r.Intn(len(bytes))])
- }
- return string(result)
- }
- // json转换成map
- func JsonToMap(value string)(map[string]interface{}){
- byteValue := []byte(value)
- js, _ := simplejson.NewJson(byteValue)
- nodes, _ := js.Map()
- return nodes
- }
- // map转换为json
- func MapToJson(value interface{}) string {
- jsonStr,_ := json.Marshal(value)
- return string(jsonStr)
- }
- // 转化成字符串
- func ConvertString(value interface{})string{
- switch value.(type) {
- case string:
- return value.(string)
- case int:
- return strconv.Itoa(value.(int))
- default:
- return ""
- }
- }
|