util.go 836 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. package utils
  2. import (
  3. "crypto/md5"
  4. "encoding/hex"
  5. "fmt"
  6. "os"
  7. "path/filepath"
  8. uuid "github.com/satori/go.uuid"
  9. )
  10. // Md5 md5加密算法
  11. func Md5(s string) string {
  12. h := md5.New()
  13. h.Write([]byte(s))
  14. cipherStr := h.Sum(nil)
  15. return fmt.Sprintf("%s", hex.EncodeToString(cipherStr))
  16. }
  17. // CreateIfNotExist 创建目录
  18. func CreateIfNotExist(filename string) error {
  19. dir := filepath.Dir(filename)
  20. if dir != "" {
  21. exists, _ := Exists(dir)
  22. if !exists {
  23. err := os.MkdirAll(dir, os.ModePerm)
  24. if err != nil {
  25. return err
  26. }
  27. }
  28. }
  29. return nil
  30. }
  31. // Exists ...
  32. func Exists(filename string) (bool, error) {
  33. exists := true
  34. _, err := os.Stat(filename)
  35. if err != nil {
  36. if os.IsNotExist(err) {
  37. exists = false
  38. }
  39. }
  40. return exists, err
  41. }
  42. // UUID uuid
  43. func UUID() string {
  44. s, _ := uuid.NewV4()
  45. return s.String()
  46. }