如何不对软件中的字符串进行硬编码?

时间:2016-11-28 18:44:51

标签: python string hardcoded

我想知道如何不对字符串进行硬编码,例如某些软件中的IP或远程连接软件。

我听说网络安全专家找到了那个用hes软件攻击别人的人的IP,并且跟踪了他。

那么,我怎样才能避免将我的IP硬编码到软件中,如果我对其进行硬编码,人们如何找到我的IP?

5 个答案:

答案 0 :(得分:1)

有几种方法可以隐藏硬编码的字符串。最简单的方法之一是用另一个字符串或重复的常量对这些位进行异或。因此,您可以使用两个硬编码的短阵列,当它们一起进行XOR运算时,会生成您想要隐藏的字符串。

答案 1 :(得分:0)

您可以执行以下任何操作:1)从文件中读取字符串,2)从数据库中读取字符串,3)将字符串作为命令行参数传递

答案 2 :(得分:0)

一种选择是使用非对称加密,您可以从使用它的服务器请求私有字符串(请参阅SSL / TLS)。 如果你想在本地做,你应该写/读一个文件(操作系统应该通过用户访问来处理授权)

答案 3 :(得分:0)

实际上,最佳做法是避免在代码中包含机密信息(即使您的代表是私有的)。最好的方法是从DB读取(因为您需要在某处保留数据库凭据也存在一些风险)或将数据添加到环境变量中(特别是如果您有持续的集成,那么您可以分离代码通过bootstrapping将它们放入内存中来获取凭据。

答案 4 :(得分:0)

如果你想要隐藏它,加密它,你会在github上看到很多人,因为他们没有把它作为“秘密”使用,因此人们意外地发布了他们的aws密钥或什么不是github。 总是加密重要的数据,永远不要使用像ip这样的硬编码值,因为这很容易改变,某种dns解析器可以帮助你保持路线。 在这种特殊情况下,您提到使用DNS指向代理将有助于屏蔽端点ip。