40 twitter binary api-key secret-key
我正在为Mac OS X创建一个Twitter客户端,我有一个消费者秘密.根据我的理解,我不应该分享这个秘密密钥.问题是,当我把它作为字符串文字放入我的应用程序并使用它时,如下所示:
#define QQTwitterConsumerSecret @"MYSECRETYOUMAYNOTKNOW"
[[QQTwitterEngine alloc] initWithConsumerKey:QQTwitterConsumerKey consumerSecret:QQTwitterConsumerSecret];
Run Code Online (Sandbox Code Playgroud)
它位于我的应用程序的二进制文件的数据部分.黑客可以阅读此内容,反汇编应用程序等.
有没有安全的存储消费者秘密的方法?我应该加密吗?
Gra*_*sen 27
没有真正完美的解决方案.无论你做什么,致力于它的人都可以偷走它.
甚至Twitter为iPhone/iPad/Android/mac /等.在那里有一把秘密密钥,他们可能只是以某种方式掩盖了它.
例如,您可以将其分解为不同的文件或字符串等.
注意:使用十六进制编辑器,您可以读取二进制中的ascii字符串,这是最简单的方法.通过将其分解为不同的部分或使用函数调用来创建密钥通常会使该过程更加困难.
小智 7
您可以对其进行base64编码以对其进行模糊处理.或者,更好的想法,生成密钥而不是仅存储它 - 写下这样的东西:
char key[100];
++key[0]; ... ; ++key[0]; // increment as many times as necessary to get the ascii code of the first character
// ... and so on, you get the idea.
Run Code Online (Sandbox Code Playgroud)
然而,一个真正优秀的黑客无论如何都会找到它; 真正保护它免受他人注意的唯一方法是使用安全哈希函数,但是你也无法检索它:)