当前,我正在运行一个微服务,该微服务会进行一些转换,其中涉及一个带有接收到的字符串的秘密,并返回新字符串。因此,数据将通过网络移动到功能。
但是,为了提高性能,如果函数涉及数据,则最好使用。最好有一个本地python模块(在这里设置为python),该模块执行转换并仅在初始化时接收秘密。
那么现在的问题是:如何以某种方式(临时)存储秘密,以使模块的用户无法读取该秘密?它不是一个很强的秘密,因此这里不需要花哨的加密。但是它应该防止用户毫不费力地阅读它,因为python“ private”类变量允许。
答案 0 :(得分:0)
由于用户大概可以编辑模块以拦截从网络接收到的秘密,并查看其访问方式,因此通过混淆存储方式并没有太大的安全意义。
无论哪种方式,如果您确实想这样做,我建议您将其潜入模块之外的其他位置;例如,您可以将其放入sys
之类的内置模块的名称空间中...但是,再次有人读取了模块的代码(从.py或通过反编译)后,他们将看到发生了什么。