securejsondata.go 802 B

1234567891011121314151617181920212223242526272829303132333435
  1. package securejsondata
  2. import (
  3. "github.com/grafana/grafana/pkg/log"
  4. "github.com/grafana/grafana/pkg/setting"
  5. "github.com/grafana/grafana/pkg/util"
  6. )
  7. type SecureJsonData map[string][]byte
  8. func (s SecureJsonData) Decrypt() map[string]string {
  9. decrypted := make(map[string]string)
  10. for key, data := range s {
  11. decryptedData, err := util.Decrypt(data, setting.SecretKey)
  12. if err != nil {
  13. log.Fatal(4, err.Error())
  14. }
  15. decrypted[key] = string(decryptedData)
  16. }
  17. return decrypted
  18. }
  19. func GetEncryptedJsonData(sjd map[string]string) SecureJsonData {
  20. encrypted := make(SecureJsonData)
  21. for key, data := range sjd {
  22. encryptedData, err := util.Encrypt([]byte(data), setting.SecretKey)
  23. if err != nil {
  24. log.Fatal(4, err.Error())
  25. }
  26. encrypted[key] = encryptedData
  27. }
  28. return encrypted
  29. }