1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- package utils
- import (
- "crypto/md5"
- "encoding/hex"
- "fmt"
- "github.com/dchest/captcha"
- "math/rand"
- "strings"
- "time"
- )
- func FilterXSS(str string) string {
- str = strings.Replace(str, "<", "<", -1)
- str = strings.Replace(str, ">", ">", -1)
- str = strings.Replace(str, "%3C", "<", -1)
- str = strings.Replace(str, "%3E", ">", -1)
- str = strings.Replace(str, "expression", "expression", -1)
- str = strings.Replace(str, "javascript", "javascript", -1)
- return str
- }
- func MakeSimpleCaptcha(n int) string {
- var idChars = []byte("0123456789")
- b := captcha.RandomDigits(n)
- for i, c := range b {
- b[i] = idChars[c]
- }
- return string(b)
- }
- /**
- 获取当前时间的毫秒值
- */
- func Now4Millis() int64 {
- return time.Now().UnixNano() / 1e6
- }
- /*产生n以内的随机数*/
- func MakeIntRand(n int) int {
- rand.Seed(time.Now().UnixNano())
- return rand.Intn(n)
- }
- //生成32位md5字串
- func GetMd5String(s string) string {
- h := md5.New()
- h.Write([]byte(s))
- return hex.EncodeToString(h.Sum(nil))
- }
- func GenerateSimpleToken() string {
- rand.Seed(time.Now().UnixNano())
- str := fmt.Sprintf("%d%d", time.Now().UnixNano(), rand.Intn(999999))
- h := md5.New()
- h.Write([]byte(str))
- return hex.EncodeToString(h.Sum(nil))
- }
- //var pool = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz@#$"
|