hash.go 456 B

1234567891011121314151617181920212223242526272829303132
  1. package helper
  2. import (
  3. "crypto/sha512"
  4. "fmt"
  5. "github.com/0xJacky/Nginx-UI/internal/logger"
  6. "io"
  7. "os"
  8. )
  9. func DigestSHA512(filepath string) (hashString string) {
  10. file, err := os.Open(filepath)
  11. if err != nil {
  12. logger.Error(err)
  13. return
  14. }
  15. defer file.Close()
  16. hash := sha512.New()
  17. _, err = io.Copy(hash, file)
  18. if err != nil {
  19. logger.Error(err)
  20. return
  21. }
  22. hashValue := hash.Sum(nil)
  23. hashString = fmt.Sprintf("%x", hashValue)
  24. return
  25. }