Comment conserver un secret, la clé de l'API dans une application binaire?

Je suis entrain de créer un client Twitter pour Mac OS X et j'ai un Consommateur secret. C'est ma compréhension, je ne devrais pas partager cette secret clé. Le problème est que lorsque je l'ai mis comme une chaîne littérale dans mon application et de l'utilisation, comme ceci:

#define QQTwitterConsumerSecret @"MYSECRETYOUMAYNOTKNOW"

[[QQTwitterEngine alloc] initWithConsumerKey:QQTwitterConsumerKey consumerSecret:QQTwitterConsumerSecret];

Il est dans la section de données de mon application binaires. Les pirates peuvent lire ceci, désassembler l'application, etc..

Est-il un moyen sûr de stocker le Consommateur secret? Dois-je le chiffrer?

  • Si vous le chiffrer, vous aurez encore besoin de cacher la clé de chiffrement.
  • Définir ce que si le hacker ne connais pas l'algorithme de chiffrement?
  • À moins que la clé se réfère à une sorte de compte privilégié, il n'y a pas de raison pour qu'il soit gardé secret ou même qu'elle existe, et Twitter est juste stupide. Si il fait référence à un compte privilégié, alors il n'appartient pas à une application que vous partagez.
  • Programmeur: pourquoi êtes-vous ce marquage avec C? que l'extrait de code est objective-c.
  • oui, il est, mais je ne veux pas répondre à cette question spécifique à une langue. Je vais supprimer le C de la balise.
  • en crypto, il est toujours préférable de supposer que l'adversaire a une parfaite connaissance de la technique de cryptage utilisé, et de travailler autour de cela.

InformationsquelleAutor | 2011-04-02