I'm using MD5 function and Base64 Encoding to generate a User Secret (used to login to data layer of the used API)
I did the code in javascript and it's fine, but in Objective C I'm strugling with the BOM
my code is:
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];
using the code above I'm getting into the memory:
(source: balexandre.com)
witch is not what I really need...
I even tried with
"%c%c%c%@", (char)239, (char)187, (char)191, str
with no luck...
using UTF8String
does not seam to append the BOM automatically as in C# :-(
How can I append the BOM correctly ?
Try embedding the BOM directly in the format string as escaped character literals:
NSString *sourceString = [[NSString alloc] initWithFormat:@"\357\273\277%@", str];
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With