我正在使用 MD5 函数和 Base64 编码来生成用户密钥(用于登录到所用 API 的数据层)
我在javascript中编写了代码,这很好,但是在Objective C中我正在努力处理BOM
我的代码是:
NSString *str = [[NSString alloc]
initWithFormat:@"%@%@%@%d",
[auth uppercaseString],
[user uppercaseString],
[pwd uppercaseString],
totalDaysSince2000];
NSString *sourceString = [[NSString alloc] initWithFormat:@"%02x%02x%02x%@",
0xEF,
0xBB,
0xBF,
str];
NSString *strMd5 = [sourceString MD5];
NSData *sourceData = [strMd5 dataUsingEncoding:NSUTF8StringEncoding];
NSString *base64EncodedString = [[sourceData base64EncodedString] autorelease];
使用上面的代码我进入内存:
(来源:balexandre.com)
女巫不是我真正需要的...
我什至尝试过
"%c%c%c%@", (char)239, (char)187, (char)191, str
没有运气...
usingUTF8String
不会像在 C# 中那样自动附加 BOM :-(
如何正确附加 BOM?