/
develop.go
57 lines (47 loc) · 1.15 KB
/
develop.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
package lorem
import (
"fmt"
"github.com/CiroLee/go-lorem/data"
)
// return a random git commit sha
func GitCommitSha() string {
return sha(40)
}
// return a random git commit short sha
func GitCommitShortSha() string {
return sha(7)
}
// return a random git branch
func GitBranch() string {
return randomElement(data.BRANCHES)
}
// return a random software version
func Version() string {
major, _ := randomInteger(0, 20)
minor, _ := randomInteger(0, 99)
patch, _ := randomInteger(0, 999)
return fmt.Sprintf("%d.%d.%d", major, minor, patch)
}
// return a random md5
func MD5() string {
var str = "0123456789abcdef"
return StrBy(32, str)
}
// return a random password. support specified length and strength
func Password(length uint, strength string) string {
var base = "abcdefghijklmnopqrstuvwxyz"
var chars string
switch strength {
case "low":
chars = base
case "medium":
chars = base + "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
case "high":
chars = base + "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789~!@#$%^&*()_+{}[]:;<>,.?/"
}
return StrBy(length, chars)
}
func sha(length uint) string {
str := "0123456789abcdefABCDEF"
return StrBy(length, str)
}