gpt4 book ai didi

string - 您如何在Go中处理敏感数据?

转载 作者:行者123 更新时间:2023-12-01 21:09:37 27 4
gpt4 key购买 nike

抱歉,以前是否有人问过这个!
背景:
我目前正在Go中使用一个API,该API会生成访问 token ,这些 token 将用于公开我们公司内部正在使用的一些API。考虑一下您用于Stripe或Github的 token 。我正在做这样的事情:)。我生成一个 token ,对其进行哈希处理,然后将其持久化。
问题:
据我所知,Go中的字符串是不可变的。我曾经是一名Java工程师。 Java中的字符串也是不可变的,并且存在于称为字符串常量池的东西中。无论如何,在Java中,您的字符串存在于堆中,直到垃圾收集器运行为止。因此,与其使用字符串,不如使用字符数组来存储密码或API令​​牌之类的字符,这更好。
Go如何运作?在垃圾回收之前,表示我的API token 的字符串是否在堆上仍然有效?有人可以劫持我的堆并获取 token 吗?我应该使用别的东西代替字符串吗?也许像 rune slice ?我可以强制对不可变字符串进行垃圾回收吗?
谢谢! :-)

最佳答案

根据对我的问题发表的评论,我最终使用了[]byte处理我的敏感数据。使用完后我会清除数组。
我担心的是,当字符串对象仍在堆中时,可以使用侧 channel 攻击来访问它们。

关于string - 您如何在Go中处理敏感数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62944551/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com