鉴于C#可以非常容易地反编译,暴露所有设置变量和功能,有没有办法可以完全保护Facebook为创建应用程序提供的API秘密?
由于
答案 0 :(得分:3)
软件设计的一般规则是不信任客户。无论客户做什么,任何人都可以做到。你可以通过默默无闻的方式尝试一些安全措施,并采用一种方法来“产生”秘密,或者你可以将它隐藏在一个看似无关的课堂中,但是在一天结束时,任何有一点时间的人都可以看一下在传出数据包并从中提取密钥。
如果您想要真正的安全性,请通过您的服务器路由所有网络。让客户端向您的服务器发送命令,该命令将解释命令并使用Facebook API和您的秘密向客户端发回适当的数据。
答案 1 :(得分:1)
此问题的一种可能解决方案是将这些凭据存储在app.config文件中,然后使用DPAPI加密包含这些凭据的部分。
http://msdn.microsoft.com/en-us/library/ff647398.aspx
解密配置值是透明的,仍然可以通过ConfigurationManager
类完成。