为了账号安全,请及时绑定邮箱和手机立即绑定

golang 从 Vault 文件中解封 yaml

golang 从 Vault 文件中解封 yaml

Go
MMMHUHU 2022-10-04 17:10:42
通过下面的代码,我可以从 Ansible 库文件中获取 yaml,结果如下:---dbtype: redisvsad: go0v当试图取消封印YAML时,我只得到:map[string]string(nil)我的目标就是取消文件预检,编辑数据,重新存储文件。如何实现解封以便编辑数据?package mainimport (    "fmt"    "github.com/sosedoff/ansible-vault-go"    "gopkg.in/yaml.v2")type Props struct {    values map[string]string}func main() {    str, err := vault.DecryptFile("/tmp/tmpvlt", `.NunY4hb33zWx!)`)    if err != nil {        panic(err)    }    props := Props{}    err2 := yaml.Unmarshal([]byte(str), &props)    if err2 != nil {        panic(err2)    }    fmt.Println(str)    fmt.Printf("%#v\n",props.values)}
查看完整描述

1 回答

?
海绵宝宝撒

TA贡献1809条经验 获得超8个赞

您想执行任何操作

var props map[string]string

err2 := yaml.Unmarshal([]byte(str), &props.values)

在您当前的代码中,取消封口程序无法访问私有字段,即使您通过将其重命名为 来将其公开,也不会填充它,因为您的 YAML 没有名为 的顶级键。valuesValuesvalues


查看完整回答
反对 回复 2022-10-04
  • 1 回答
  • 0 关注
  • 68 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信