Here is the base64 encoding done with CommonCrypto:
this is a very simple code, it's easy to put it in a category
if you add this to your project you also need to add Security.framework
#include <CoreFoundation/CoreFoundation.h> #include <Security/Security.h> static NSData *base64helper(NSData *input, SecTransformRef transform) { NSData *output = nil; if (!transform) return nil; if (SecTransformSetAttribute(transform, kSecTransformInputAttributeName, input, NULL)) output = (NSData *)SecTransformExecute(transform, NULL); CFRelease(transform); return [output autorelease]; } NSString *base64enc(NSData *input) { SecTransformRef transform = SecEncodeTransformCreate(kSecBase64Encoding, NULL); return [[[NSString alloc] initWithData:base64helper(input, transform) encoding:NSASCIIStringEncoding] autorelease]; } NSData *base64dec(NSString *input) { SecTransformRef transform = SecDecodeTransformCreate(kSecBase64Encoding, NULL); return base64helper([input dataUsingEncoding:NSASCIIStringEncoding], transform); }
denis2342 Jan 25 '13 at 13:31
source share