crypto.go 871B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. package common
  2. import (
  3. "crypto/hmac"
  4. "crypto/sha256"
  5. )
  6. const (
  7. // HMAC签名算法
  8. HMAC_SHA256 = "HMAC-SHA256"
  9. )
  10. // HMAC_Sha256 加密
  11. func HMAC_Sha256(data string, secret string) []byte {
  12. h := hmac.New(sha256.New, []byte(secret))
  13. h.Write([]byte(data))
  14. return h.Sum(nil)
  15. }
  16. // RSASHA256 加密
  17. // func RSASHA256(data string, Key string) (string, error) {
  18. // h := sha256.New()
  19. // h.Write([]byte(data))
  20. // hashed := h.Sum(nil)
  21. // block, _ := pem.Decode([]byte(Key))
  22. // if block == nil {
  23. // return "", errors.New("private key error")
  24. // }
  25. // privateKey, err := x509.ParsePKCS1PrivateKey(block.Bytes)
  26. // if err != nil {
  27. // return "", err
  28. // }
  29. // signature, err := rsa.SignPKCS1v15(cryptorand.Reader, privateKey, crypto.SHA256, hashed)
  30. // if err != nil {
  31. // return "", err
  32. // }
  33. // return base64.StdEncoding.EncodeToString(signature), nil
  34. // }