I am currently developing an application with Qt/C++ which needs to access a Shopify store using the Admin API. In order to access the API, my application needs to know the following information:
- API Token
- Shared Secret
- API Password
These values are stored as strings in a header using a simple
#define, for example:
#ifndef STORE_INFO_H #define STORE_INFO_H #define ADMIN_API_TOKEN "..." #define ADMIN_API_PASSWORD "..." #define ADMIN_API_SHARED_SECRET "..." // Sha la la la #endif
Afterwards, these values are used across the application as needed. However, there's one big issue with this approach: if someone is smart enough to open the binary application inside a HEX editor or a decompiler, he or she may be able to see this information (which, if used with malicious purposes, could do a lot of damage).
Irrelevant of the needs of my application or which API I am using, is there are way to "hide" or protect sensitive information constants in a C/C++ application?