做我想做的最简单的方法是实现基本的 HMAC (http://en.wikipedia.org/wiki/Hash-based_message_authentication_code)。您甚至可以将此哈希存储在配置文件本身中,虽然这有点复杂,但非常简洁。
事实证明,iOS 和 Android 都内置了库来执行基本的 SHA1、MD5 等。它们也都支持 HMAC。所以对于 iOS,你会做这样的事情:
#include <CommonCrypto/CommonHMAC.h>
string createHMAC( string key, string text )
{
string result;
const char *cKey = key.c_str();
const char *cData = text.c_str();
unsigned char cHMAC[CC_SHA1_DIGEST_LENGTH];
CCHmac( kCCHmacAlgSHA1, cKey, strlen(cKey), cData, strlen(cData), cHMAC );
NSMutableString* output = [NSMutableString stringWithCapacity:CC_SHA1_DIGEST_LENGTH * 2];
for(int i = 0; i < CC_SHA1_DIGEST_LENGTH; i++)
{
[output appendFormat:@"%02x", cHMAC[i]];
}
result = string( [output UTF8String] );
return result;
}
由于这是 Objective-c 代码,您可以将其编译为 Objective-C++ 并且它会工作。如果您的应用不需要任何高级密码学,则无需使用任何框架。
干杯,安格里斯