这是使用 CommonCrypto 完成的 base64 编码:
这是非常简单的代码,将它放在一个类别中并不难
如果您将此添加到您的项目中,您还需要添加 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);
}