这里有一个简单的问题,无法在线找到答案..这很可能是因为这是一个奇怪的问题。
我想通过我从C#应用程序在Linux服务器上监听的端口发送数据(基本上是字符串/ JSON)。当应用程序第一次与服务器通信时,它必须传递明确意味着秘密的正确凭据。那么当我编译这个应用程序时这些凭据(用户名/密码组合)是否安全?我想不是因为我听说过反编译器之类的东西。那么你会以什么方式使这个安全?当然,任何已编译并连接到公共数据库或类似内容的应用程序都必须将详细信息存储在可执行文件中。
我错过了一些明显显而易见的东西,对不起我的无知!
答案 0 :(得分:3)
不,他们不是。
概括地说,您不能假设您以任何形式向最终用户发送的任何数据都可以安全地避开某种形式。
你首先要做的是什么?有哪些安全要求?
答案 1 :(得分:0)
对于您所描述的应用程序,您应该将凭据放在文件中并设置权限,以便只有直接所有者才能读取该文件。我永远不会建议将敏感信息放入其他人可以阅读的文件中,例如您的应用程序。
答案 2 :(得分:0)
没有。有一些反射工具可以显示应用程序中的代码。您可以使用“扰乱”代码的工具(通过混淆),虽然不是100%安全,但可能会有所帮助
答案 3 :(得分:0)
ASP.NET 2.0引入了一项名为protected configuration的新功能,使您可以加密配置文件中的敏感信息。虽然主要是为ASP.NET设计的,但受保护的配置也可用于加密Windows应用程序中的配置文件部分。有关受保护配置功能的详细说明,请参阅Encrypting Configuration Information Using Protected Configuration。