登录
首页 >  Golang >  Go问答

如何加密可在固定时间内解密的数据

来源:stackoverflow

时间:2024-03-31 16:18:33 103浏览 收藏

哈喽!大家好,很高兴又见面了,我是golang学习网的一名作者,今天由我给大家带来一篇《如何加密可在固定时间内解密的数据》,本文主要会讲到等等知识点,希望大家一起学习进步,也欢迎大家关注、点赞、收藏、转发! 下面就一起来看看吧!

问题内容

我的用例如下所示:

  1. 使用用户提供的密钥加密一些超级机密数据
  2. 根据要求,向用户询问该密钥并解密数据
  3. 使用密钥重新加密数据,使我的程序能够在用户定义的时间段内访问数据
  4. 如果令牌过期,请再次要求用户提供原始密钥

这感觉应该是我的 googlefu 今天很弱的一个已解决的问题。

我可以解密数据并使用已知密钥将其存储在我的程序中,但破解我的代码会暴露这些秘密。

我可以而且也许应该使用一些本地安全存储来存储这些数据,例如 Macos 钥匙串等,但我希望将本机变化的数量保持在最低限度。


解决方案


这个具体问题的答案似乎是,不,不可能在本地完成。

解决此类问题(即使用用户密钥解密的数据的临时缓存)的最佳解决方案是使用用户计算机上存在的安全工具(即 macos 钥匙串)或简单地使用已知密钥重新加密缓存程序,但可以对该程序进行逆向工程以找到解密密钥。

我的计划是在程序首次运行时生成一个加密密钥,使用它+一个已知的盐来加密我的缓存。这个想法是,程序、生成的密钥和缓存都需要一起妥协才能解密我的缓存。

今天带大家了解了的相关知识,希望对你有所帮助;关于Golang的技术知识我们会一点点深入介绍,欢迎大家关注golang学习网公众号,一起学习编程~

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>