github.com/khulnasoft-lab/defsec@v1.0.5-0.20230827010352-5e9f46893d95/pkg/scanners/azure/functions/base64.go (about) 1 package functions 2 3 import ( 4 "encoding/base64" 5 "encoding/json" 6 ) 7 8 func Base64(args ...interface{}) interface{} { 9 10 if len(args) == 0 { 11 return nil 12 } 13 14 input := args[0].(string) 15 16 return base64.StdEncoding.EncodeToString([]byte(input)) 17 } 18 19 func Base64ToString(args ...interface{}) interface{} { 20 if len(args) == 0 { 21 return nil 22 } 23 24 input := args[0].(string) 25 26 result, err := base64.StdEncoding.DecodeString(input) 27 if err != nil { 28 return "" 29 } 30 return string(result) 31 } 32 33 func Base64ToJson(args ...interface{}) interface{} { 34 35 if len(args) == 0 { 36 return nil 37 } 38 39 input := args[0].(string) 40 41 decoded, err := base64.StdEncoding.DecodeString(input) 42 if err != nil { 43 return nil 44 } 45 46 var result map[string]interface{} 47 48 if err := json.Unmarshal(decoded, &result); err != nil { 49 return nil 50 } 51 return result 52 }