gocron/modules/utils/utils.go

45 lines
1009 B
Go
Raw Normal View History

2017-03-10 09:08:51 +00:00
package utils
import (
2017-04-02 02:38:49 +00:00
"crypto/md5"
"encoding/hex"
"math/rand"
"os/exec"
"time"
2017-03-10 09:08:51 +00:00
)
// 执行shell命令
2017-04-02 02:19:52 +00:00
func ExecShell(command string, args ...string) (string, error) {
2017-04-02 02:38:49 +00:00
result, err := exec.Command(command, args...).CombinedOutput()
2017-03-10 09:08:51 +00:00
2017-04-02 02:38:49 +00:00
return string(result), err
2017-03-10 09:08:51 +00:00
}
// 生成长度为length的随机字符串
func RandString(length int64) string {
2017-04-02 02:38:49 +00:00
sources := []byte("0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ")
result := []byte{}
r := rand.New(rand.NewSource(time.Now().UnixNano()))
sourceLength := len(sources)
var i int64 = 0
for ; i < length; i++ {
result = append(result, sources[r.Intn(sourceLength)])
}
return string(result)
2017-03-10 09:08:51 +00:00
}
// 生成32位MD5摘要
func Md5(str string) string {
2017-04-02 02:38:49 +00:00
m := md5.New()
m.Write([]byte(str))
2017-03-10 09:08:51 +00:00
2017-04-02 02:38:49 +00:00
return hex.EncodeToString(m.Sum(nil))
2017-03-10 09:08:51 +00:00
}
// 生成0-max之间随机数
func RandNumber(max int) int {
2017-04-02 02:38:49 +00:00
r := rand.New(rand.NewSource(time.Now().UnixNano()))
2017-03-10 09:08:51 +00:00
2017-04-02 02:38:49 +00:00
return r.Intn(max)
2017-04-03 07:27:19 +00:00
}