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 を正しく追加するにはどうすればよいですか?